nginx 重定向包括子域、www 和参数
Posted
技术标签:
【中文标题】nginx 重定向包括子域、www 和参数【英文标题】:nginx redirect include subdomain, www and parameters 【发布时间】:2013-03-15 13:23:56 【问题描述】:我想用 nginx 从
重定向www.anysubdomain.domain.com?parameters , anysubdomain.com?parameters
到
www.domain.com?parameteres&anysubdomain
任何子域或参数都是可选的
我试过了
server_name ~^(?<subdub>.*).\domain\.com$;
rewrite ^ http://www.domain.com/?mode=$subdub permanent;
但这是错误的。
【问题讨论】:
【参考方案1】:server_name ~^(www\.)?(?<subdub>.+)\.domain\.com$;
此正则表达式将匹配“www.”的零个或一个外观。
您在使用“.\domain”的正则表达式中也有错误。它应该是“\.domain”。
我也换了
(?<subdub>.*)
由
(?<subdub>.+)
确保子域名不为空。这样 server_name 将不会匹配“www.domain.com”本身,这可能会导致重定向循环。
【讨论】:
以上是关于nginx 重定向包括子域、www 和参数的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess:将主域重定向到https:// www,子域重定向到https://(不带www)
Dockerized Nginx将不同的子域重定向到同一页面