Laravel 5 geting 500在托管中出错

时间:2016-02-12 22:21:10

标签: php .htaccess laravel laravel-5

我在晚上用我的laravel应用程序来托管。

在mac OS上的localhost中一切正常,但在ubuntu的托管中我得到500错误。

我没有任何线索。

根目录中的.htaccess

Options -Indexes

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{REQUEST_URI} !^public
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

# Deny accessing below extensions
<Files ~ "(\.json|\.lock|\.git)">
Order allow,deny
Deny from all
</Files>

# Deny accessing dot files
RewriteRule (^\.|/\.) - [F]
公共

和.htaccess

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

RewriteEngine On

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

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

如果我删除/public/.htaccess,我会server error 500

否则我得到Server error The website encountered an error while retrieving http://oboi.spb.ru/. It may be down for maintenance or configured incorrectly.

1 个答案:

答案 0 :(得分:1)

条件:

  RewriteCond %{REQUEST_URI} !^public

失败,因为您在Cond模式中的 public 之前缺少 / ,因此规则将应用于导致无限递归的每个请求。

将Cond模式更改为

!^/public