将Laravel 5项目部署到托管后,路由无法正常工作

时间:2015-04-12 05:52:38

标签: laravel-5

我刚刚将我的Laravel 5 proyect上传到托管服务器。索引页几乎可以工作,但每个链接都被破坏了。每条路由都返回一个内部服务器错误消息。 这是实际的信息:

  

内部服务器错误

     

服务器遇到内部错误或配置错误   无法完成您的请求。

     

请与服务器管理员联系,告知他们时间   发生了错误,以及您可能做过的任何事情   导致错误。

     

有关此错误的详细信息可能在服务器错误中可用   日志中。

     

此外,遇到500内部服务器错误错误   尝试使用ErrorDocument来处理请求。

我已将存储文件夹权限设置为777,但我甚至没有收到错误日志。

有什么建议吗?

3 个答案:

答案 0 :(得分:11)

最后我可以解决它添加

RewriteBase /

到公共文件夹中的.htaccess文件。

这是我完整的.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]

最奇怪的是我已经尝试过了,因为那是我如何用Laravel 4解决同样的问题。让它发挥作用的是改变

RewriteBase /

到错误的

RewriteBase ../

然后将其更改回

RewriteBase /

并且神秘地解决了。

我希望这可以帮助任何人。这是5:22,我需要一些睡眠

答案 1 :(得分:0)

如果您将public_html中的.htaccess遗漏到.zip或其他项目中,则您将遇到此问题。

答案 2 :(得分:0)

首先请确保.htaccess目录中存在public_html文件。 linux服务器上通过zip进行的大多数上传操作都不会自动复制.htaccess文件,因为该文件已隐藏。