【发布时间】:2015-09-25 16:05:51
【问题描述】:
提前致谢。
我正在使用 laravel 5 并希望在 .htaccess 文件中进行一些修复。
这是我的 .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]
</IfModule>
问题是,当我在 url 后添加一个额外的斜杠时,它会将我扔到我 www 文件夹的根目录。有没有可能的解决方案
http://localhost/project/public/index.php -- 工作正常。 http://localhost/project/public/index.php/ --将我重定向到http://localhost/index.php
无论如何我需要这个重定向到http://localhost/project/public/index.php
任何帮助表示赞赏。
【问题讨论】:
-
添加这些行
RewriteRule ^(.*)/$ /$1 [L,R=301] -
感谢您的建议,但仍然无法正常工作。现在我已将我的 .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] </IfModule> -
试试这些
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] -
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]in 现在重定向所有请求,而不管尾随/没有工作。