我想从
中使用nginx重定向www.anysubdomain.domain.com?parameters , anysubdomain.com?parameters
到
www.domain.com?parameteres&anysubdomain
anysubdomain或参数是可选的
我试过
server_name ~^(?<subdub>.*).\domain\.com$;
rewrite ^ http://www.domain.com/?mode=$subdub permanent;
但这是错误的。
答案 0 :(得分:2)
server_name ~^(www\.)?(?<subdub>.+)\.domain\.com$;
此正则表达式将匹配“www。”的零或一个外观。
此外,您在使用“。\ domain”的正则表达式中也有错误。它应该是“\ .domain”。
我也替换
(?<subdub>.*)
通过
(?<subdub>.+)
确保非空子域名。这样server_name将不会匹配“www.domain.com”本身,这可能会导致重定向循环。