提问者:小点点

Laravel尾随斜杠重定向到带有公共的url


在我和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/.我该怎么解决?


共1个答案

匿名用户

好的,经过一些调试,我发现实际配置已经工作正常。问题是谷歌Chrome缓存。为了将来参考,只需使用我的配置,清除浏览器缓存,然后重试。