我们最近上传了一个laravel 5.2项目到服务器,问题是它显示了第一页是登录页面,但是没有其他页面工作并返回404错误。 这是.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 ^(.*)/$ public/$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>
&#13;
如果有人能帮助我,我会很高兴。
答案 0 :(得分:0)
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ public/$1 [L,R=301]
在这一行。您的apache是否设置为目录/ path / to / project / public 。 如果是这种情况,则所有请求都将访问公用文件夹。这意味着您应该将.htaccess文件放在/ public文件夹中。
然后你的RewriteRule应该是:
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
由于您已经在公共文件夹中。