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

Nginx中如何实现目录间用户重定向?现有规则失效求排查

Nginx重定向规则问题排查与修复

你的规则存在两个核心问题:

  1. 指令使用错误:你要实现的是URL重定向(让浏览器跳转至新地址),但误用了proxy_pass——这个指令的作用是反向代理,会把请求转发到后端服务器,而非触发浏览器跳转。

  2. 正则匹配的冗余性:虽然正则^/en/content/(.*)$能匹配目标路径,但结合重定向需求,写法可以更简洁高效。

正确的重定向配置方案

如果要实现永久重定向(301,适合长期路径变更),推荐使用性能更优的return指令:

location ~ ^/en/content/(.*)$ {
    return 301 $scheme://mydomain/content/$1;
}

如果是临时重定向(302,适合临时路径调整),只需将301替换为302即可。

额外注意事项

  • 确保该location规则的优先级正确:如果配置中存在更具体的location(比如精确匹配的location = /en/content/),会优先匹配,导致你的正则规则无法生效。
  • 修改配置后,必须执行nginx -s reload重新加载配置,新规则才会生效。
  • 若mydomain就是当前Nginx服务的域名,可简化为return 301 $scheme://$host/content/$1;,避免硬编码域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:38:10