Nginx重定向与重写异常:跳转至根域名而非指定完整路径
Nginx域名全量重定向问题解决
你的配置问题出在**location ~ /的正则匹配写法**,这种匹配方式会和Nginx默认的location /前缀匹配块产生优先级冲突,导致重定向规则没有按预期生效。另外,没必要用正则来匹配所有路径,直接在server层面处理更高效。
给你两种正确的配置方案:
方案1:Server级别直接重定向(推荐)
这是最简洁高效的写法,直接对整个server的所有请求生效:
server { listen 80; server_name domainA.com www.domainA.com; # 永久重定向到目标地址,确保域名是完整的(比如www.domainB.com) return 301 https://www.domainB.com/landing-page; }
方案2:Location前缀匹配写法
如果一定要用location块,改用前缀匹配location /,不要用正则匹配:
server { listen 80; server_name domainA.com www.domainA.com; location / { return 301 https://www.domainB.com/landing-page; } }
注意事项
- 确认目标域名是完整的(比如你的实际域名是
www.domainB.com,不要漏写后缀) - 修改配置后,先执行
nginx -t检查语法是否正确 - 语法没问题的话,执行
nginx -s reload重载Nginx使配置生效
内容的提问来源于stack exchange,提问作者Junglur
相关产品推荐
相关产品推荐

