【问题标题】:Laravel Trailing Slashes redirect to url with publicLaravel 尾部斜杠重定向到带有公共的 url
【发布时间】: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。怎么解决?

【问题讨论】:

    标签: php laravel .htaccess


    【解决方案1】:

    好的,经过一些调试,我发现实际配置已经可以正常工作了。问题出在 Google Chrome 缓存上。以供将来参考,只需使用我的配置,清除浏览器缓存并重试即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-25
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2011-09-13
      • 2018-12-07
      相关资源
      最近更新 更多