You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目URL尾部斜杠重定向异常问题求助

Laravel 尾部斜杠URL重定向问题解决方法

你需要调整根目录的.htaccess文件,先处理尾部斜杠的重定向,再执行请求转发到public目录,这样就能避免带斜杠的URL被转到public/xxx/的问题。修改后的完整代码如下:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # 移除URL尾部的斜杠(排除根目录"/"及真实存在的目录)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # 转发非public的请求到public目录
    RewriteCond %{REQUEST_URI} !/public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

规则说明:

  1. 尾部斜杠移除规则:

    • RewriteCond %{REQUEST_FILENAME} !-d:跳过真实存在的目录(避免破坏目录访问的默认索引页行为)
    • RewriteRule ^(.*)/$ /$1 [L,R=301]:将所有以斜杠结尾的非目录URL永久重定向到不带斜杠的版本,L表示终止后续规则执行,R=301标记永久重定向,帮助浏览器缓存正确的URL路径。
  2. 请求转发规则:保留你原有的逻辑,将非public路径的请求转发到Laravel的public目录处理。

额外检查项:

  • 确认Apache的mod_rewrite模块已启用
  • 确保站点Apache配置中,对应项目目录的AllowOverride设置为All,保证.htaccess规则能正常生效

内容的提问来源于stack exchange,提问作者Baran Arda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:11:00