Laravel 在共享主机上部署 - 404 错误

Laravel Deployment on Shared Hosting - 404 Error

我正在尝试在共享主机 cpanel 上部署我的 laravel 5.1 应用程序。但是我收到 404 错误。

404

Not Found

The resource requested could not be found on this server!

为了上传项目,我克隆了项目目录并通过他们的 FileManger 将其上传到 cpanel。然后将 Public 文件夹项目移动到 Public_Html。

我的.htaccess文件内容如下:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On
       RewriteBase /

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ / [L,R=301]

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

我还在 index.php 中更改了以下行:

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

require __DIR__.'/../objecsys/bootstrap/autoload.php';
$app = require_once __DIR__.'/../objecsys/bootstrap/app.php';

这种部署方法可能有什么问题?

在 cPanel 中部署 Laravel 应用程序非常简单(如果您在 add-on 域上部署)。

在 cPanel 中,继续 add-on 域,然后创建一个新的 add-on 域。

默认情况下,cPanel 以这种方式为您生成文档根目录:

public_html/mydomain.com

改为:

public_html/mydomain.com/MyLaravelApp/public

现在将您的 Laravel 项目上传到 public_html/mydomain.com 目录下。

它应该是这样的。

如果您已经有一个 add-on 域。转到修改 add-on 域(就在创建插件域下方)

单击文档根列中的编辑图标并更改您所在域的文档根。

这是 htaccess 问题

在您的网络项目的根文件夹中获取一个 .htaccess 文件。

并在其中放入以下代码,

<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 ^(.*)/$ / [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>

刷新页面查看

我的问题解决了

当我将 laravel 项目上传到服务器时,我的应用程序只打开默认路由

但是我在 laravel 中的所有其他网络路由都有错误

错误是:404

laravel : 404 Not Found 在此服务器上找不到请求的资源!

尝试在 .env

中设置空 APP_URL
APP_URL=http://