我在晚上用我的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.
答案 0 :(得分:1)
条件:
RewriteCond %{REQUEST_URI} !^public
失败,因为您在Cond模式中的 public 之前缺少 / ,因此规则将应用于导致无限递归的每个请求。
将Cond模式更改为
!^/public