当前位置: 首页 > 知识库问答 >
问题:

服务器中laravel项目中的子目录

澹台镜
2023-03-14

我已经创建了一个laravel项目,并像https://www.mydemosite.org/healthcard

我把所有的文件都上传到了“健康卡”的子目录中。现在我已经在公用文件夹中进行了更改。

>

将索引文件更改为以下内容

需要目录。”/引导/自动加载。php′$app=require_once DIR/引导程序/应用程序。php′;

在此之后,我添加了一个. htaccess文件到root

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

在像这样的公共文件夹里

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On    
    RewriteBase /healthcard/

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . index.php [L]
</IfModule>

我改变了主意。env文件也像

APP_URL=https://www.mydemosite.org/healthcard

但它仍然不起作用。我应该做其他的改变吗。请让我知道。谢谢你的帮助。

共有2个答案

马臻
2023-03-14

请按顺序做以下工作

>

  • 在文件夹中提取所有文件,名称本地位于public_html

    public文件夹中的文件移动到local文件夹旁边的public\u html

    打开索引。php文件

    更改此行:

    require __DIR__.'/../vendor/autoload.php';
    

    为此:

    require __DIR__.'/local/vendor/autoload.php';
    

    这个也一样:

    $app = require_once __DIR__.'/../bootstrap/app.php';
    

    更改为:

    $app = require_once __DIR__.'/local/bootstrap/app.php';
    
    DB_DATABASE=YOUR_DB_NAME
    DB_USERNAME=YOUR_DB_USERNAME
    DB_PASSWORD=YOUR_DB_PASS
    
        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews -Indexes
            </IfModule>
    
            RewriteEngine On
    
            # Handle Authorization Header
            RewriteCond %{HTTP:Authorization} .
            RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
            # Redirect Trailing Slashes If Not A Folder...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_URI} (.+)/$
            RewriteRule ^ %1 [L,R=301]
    
            # Handle Front Controller...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.php [L]
        </IfModule>
    

  • 颜实
    2023-03-14

    对于类似的项目,我将其作为根。htaccess:

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{REQUEST_URI} !^public
        RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    

    这个在公共文件夹里:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>
    

    这是我从别处得到的复制粘贴,所以我不能给你更多的细节,但值得一试。。。

    另外:尝试还原索引。php恢复到原来的状态,并将其放回公用文件夹(实际上,将移出公用文件夹的所有文件放回原处)

     类似资料:
    • 我尝试在主机服务器上部署我的laravel项目。因此,我将Laravel项目文件夹中包含的所有文件上载到主机服务器上。但是当我检查url时,我不能像在本地主机上那样使用我的项目。我只有主页,当我试图访问其他页面时,服务器返回404未找到。 我真的不知道该怎么办? 任何建议,谢谢!

    • 我试图将我的Laravel项目上传到我的网络服务器,但我过去的两次尝试都没有成功。我相信我没有上传文件到正确的位置。 我说我需要将我所有的laravel文件上传到public_html中,对吗? 这是我的Laravel项目的目录: 编辑:我现在已经将所有文件添加到根文件夹中,并将public添加到public_html中,但是我的路由似乎都不起作用。(它们在本地主机上工作得非常好)。所有东西都会抛

    • 我的网站有两个服务器——本地(ubuntu桌面上的laravel homestead)和公共(带有php7的ubuntu服务器)。我已经有了一些简单的网站,它们在我的公共服务器上运行良好,并且可以在网上看到。我在我的laravel Homestead本地服务器上创建了laravel 5.2项目,现在我想将其移动到我的公共服务器上。我压缩完整的项目文件夹(tar.gz),并使用filezilla将其

    • 我正在使用sbt 0.13.12,这是我的项目 在构建中。sbt取决于公共。如果我按sbt project sub1 run运行就可以了。但是,当我将子项目打包为jar文件时,我运行sub1。jar文件中,错误显示sub1无法找到一类公共的。 我的目的是包装sub1。jar和sub2。在每个jar文件中编译带有通用代码的jar。 --更新-- 我尝试作为建议回答。运行时遇到这个问题: 而且,是的!

    • 我试图用FTP上传我的Laravel项目,我做了一个作曲家更新,并将服务器的PHP版本更改为7。但是我得到一个'NotFoundHttpExcION'错误。有人能帮帮我吗?我只是学习Laravel和部署一个项目。我用了主持人。提前感谢。 对不起,找不到您要找的页面。 (1/1)在RouteCollection中找不到HttpException。php(第179行) 按路线收集- at路由器- at

    • 我有一个Gradle多项目构建,看起来像这样: 我希望将目录< code>shared中的所有项目作为依赖项添加到< code>plugins中的所有项目。 更一般地说:我如何按目录配置子项目? settings.gradle的内容: build.gradle的内容: