我正在尝试在共享主机 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 ^(.*)/$ /$1 [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';
这种部署方法可能有什么问题?
最佳答案
这是 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 ^(.*)/$ /$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>
刷新页面并查看
我的问题解决了
当我将 Laravel 项目上传到服务器时,我的应用程序只打开默认路由
但是我在 Laravel 中的所有其他网络路由都有错误
错误是:404
laravel : 404 Not Found 在此服务器上找不到请求的资源!
关于.htaccess - 共享主机上的 Laravel 部署 - 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34630868/