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

Nginx配置后持续重定向并追加尾部斜杠问题如何解决

问题根因

你遇到的重定向循环是三个问题共同导致的:

  1. Nginx默认对目录类请求会自动301重定向到带尾斜杠的路径,而你配置的rewrite规则是把所有带尾斜杠的请求重定向到不带尾斜杠的路径,二者形成反复跳转的循环
  2. 你当前的rewrite规则没有排除静态文件请求,且正则贪婪匹配在处理多斜杠路径时会反复触发重定向,就会出现路径末尾不断追加斜杠的情况
  3. 你贴出的配置片段没有对应location块的闭合},如果实际运行的配置也存在语法缺漏,会导致重定向规则作用范围异常,进一步放大循环问题

修复方案

第一步:调整Nginx配置

将你现有的/documentation对应的location块修改为以下内容:

location /documentation {
  alias /workspace/documentation;
  # 精准匹配/documentation下所有带尾斜杠的路径,去尾斜杠后重定向
  rewrite ^(/documentation.*)/+$ $1 permanent;
  # 关闭目录自动追加尾斜杠的默认逻辑,从根源避免冲突
  absolute_redirect off;
  # 静态文件直接返回,不参与重定向逻辑
  location ~* \.(html|htm|css|js|png|jpg|jpeg|gif|svg|ico)$ {
    expires 7d;
    add_header Cache-Control "public, no-transform";
  }
}

第二步:清理缓存测试

因为你之前用的是permanent(301永久重定向),浏览器会缓存旧的重定向规则,修复配置后需要清理浏览器缓存或者用无痕模式测试,避免旧缓存导致仍然出现循环。

可选优化(React侧)

如果需要更稳妥,可以在React的重定向逻辑中,给目标路径增加去尾斜杠的处理,避免首次跳转就携带多余斜杠触发重定向规则。


内容的提问来源于stack exchange,提问作者Mohamed Zouari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:24:04