【发布时间】:2016-04-10 09:50:35
【问题描述】:
我正在尝试在共享主机 cpanel 上部署我的 laravel 5.1 应用程序。但我收到 404 错误。
404
找不到
在此服务器上找不到请求的资源!
要上传项目,我会克隆项目目录并通过他们的 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';
这种部署方法可能有什么问题?
【问题讨论】:
-
我猜你可以在 cPanel 中更改文档根目录。只需将您的域指向您应用的公用文件夹。 /user/public_html/app/public
-
介意分享你的部署目录结构(确定)?如果
index.php找不到它的组件,它不应该只抛出 404 错误 - 所以基本上它与服务器配置相关。你的.htaccess很好,我猜是香草味的。 -
我建议为 Laravel 应用程序使用 VPS。效率更高。
-
@SonuJoshi 你能指导我一点关于如何在 cPanel 中 chag 文档根目录吗?
-
@Tezla 让我来一张目录结构的快照...
标签: .htaccess laravel deployment laravel-5 laravel-5.1