我正在尝试在共享主机cpanel上部署我的laravel 5.1应用程序。但是我收到404错误。
404
未找到
在此服务器上找不到请求的资源!
要上传项目,我复制项目目录并通过FileManger将其上传到cpanel。然后将Public文件夹项目移动到Public_Html。
我的.htaccess文件内容如下所示:
sum
我还更改了index.php中的以下几行:
<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>
到
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
这种部署方法有什么问题?
答案 0 :(得分:3)
在cPanel中部署Laravel应用程序非常简单(如果要在附加域上部署)。
在cPanel中,继续使用附加域,然后创建一个新的附加域。
默认情况下,cPanel以这种方式为您生成文档根目录:
public_html/mydomain.com
将其更改为:
public_html/mydomain.com/MyLaravelApp/public
现在将您的Laravel项目上传到public_html/mydomain.com
目录。
应该是这样的。
如果您已经有一个附加域名。转到修改附加域(在创建插件域下面)
点击文档根列中的修改图标,然后更改域名的文档根目录。
答案 1 :(得分:1)
这是htaccess问题
在您的Web项目的根文件夹中获取一个.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未找到在此服务器上找不到请求的资源!
答案 2 :(得分:0)
尝试在您的 .env
中设置空的 APP_URL
APP_URL=http://