【发布时间】:2018-10-19 11:55:08
【问题描述】:
在我使用 Laravel 开发的项目中,我遇到了一个奇怪的问题。
如果我尝试转到 url http://localhost/admin/page,laravel 正确将我重定向到 http://localhost/admin/page,但如果我尝试转到 http://localhost/admin/page/,带有斜杠,我将被重定向到 http://localhost/public/admin/page。
这是我在项目根目录上的 .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
这是我在公用文件夹上的 .htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
即使我转到http://localhost/admin/page/,我也想重定向到http://localhost/admin/page。怎么解决?
【问题讨论】: