Nginx子域名重定向如何保留目标URL的大小写?
Nginx重定向保留URL大小写的解决办法
你的问题是Nginx默认配置或全局规则干扰了URL大小写的保留——你当前使用的return指令本身不会主动转换路径大小写,但额外配置可能导致了这个问题。
修正后的Server块配置
server { listen 80; server_name short.mydomain.com *.short.mydomain.com; # 关闭默认主机名替换规则,避免意外修改URL结构 server_name_in_redirect off; return 302 https://externaldomain.com/ReallyLongAndCaseSensitiveUrl; }
额外排查要点
- 检查Nginx全局配置文件(如
nginx.conf)是否存在强制转小写的rewrite规则,类似以下代码需要删除或调整:rewrite ^/(.*)$ /$1 lowercase; - 确认使用的Nginx为稳定主流版本(如1.20及以上),这类版本的
return指令会严格保留配置中写死的URL大小写格式。
内容的提问来源于stack exchange,提问作者Woodsy
相关产品推荐
相关产品推荐

