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

Nginx技术问题:如何在URL中保留双斜杠?

Nginx 1.2.8 双斜杠自动合并问题排查与解决

核心配置校验

  • 确认merge_slashes off;的配置位置:必须放在server或location块内,全局http块的设置在部分1.2.x版本中可能不生效
  • 排查其他干扰模块:
    • 检查是否存在rewrite规则,部分正则替换会隐性规范化路径
    • 若使用proxy_pass,避免采用带尾部斜杠的写法(如proxy_pass http://backend/;),这种写法会强制触发路径合并,改用proxy_pass http://backend;即可
  • 验证配置生效:执行nginx -t检查语法合法性,再通过nginx -s reload重载服务

强制保留原始URI方案

如果上述配置仍无法解决问题,可以直接传递原始请求路径跳过Nginx的路径规范化:

server {
    listen 443 ssl;
    server_name www.url.com;
    merge_slashes off;

    location / {
        # 直接使用$request_uri传递未修改的原始请求路径
        proxy_pass http://your_backend$request_uri;
    }
}

注意:$request_uri包含完整的原始请求路径(含查询参数),需确保后端服务能正常处理带双斜杠的路径格式

版本特性提示

Nginx 1.2.x分支的merge_slashes实现存在细节差异,若问题持续:

  • 检查是否启用了其他路径优化类模块
  • 临时回滚至升级前版本对比,确认是否为版本本身的特性变更

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:59:54