在我和Laravel一起开发的一个项目中,我遇到了一个奇怪的问题。
如果我尝试转到urlhttp://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/.我该怎么解决?
好的,经过一些调试,我发现实际配置已经工作正常。问题是谷歌Chrome缓存。为了将来参考,只需使用我的配置,清除浏览器缓存,然后重试。