我想使用 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;
但这是错误的。
最佳答案
server_name ~^(www\.)?(?<subdub>.+)\.domain\.com$;
此正则表达式将匹配零次或一次出现的“www.”。
此外,您在使用“.\domain”的正则表达式中存在错误。它应该是“\.domain”。
我也替换
(?<subdub>.*)
由
(?<subdub>.+)
确保子域名非空。这样,server_name 就不会与“www.domain.com”本身匹配,这可能会导致重定向循环。
关于redirect - nginx重定向包括子域名、www和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15625378/