2016-07-28 91 views
0

有了这个服务器配置的另一个域我都可以请求重定向到另一个域名:所有子域映射到nginx的

server { 
    server_name example.net; 
    listen [::]:80; 
    listen 80; 

    return 301 https://other.net$request_uri; 
} 

,但我怎么可以重定向所有子域到一个新的领域?

www.example.net  --> www.other.net 
webmail.example.net --> webmail.other.net 
forum.example.net --> forum.other.net 

我可以在return命令中使用占位符吗?

回答

2

server_name使用正则表达式:

server { 
    server_name ~^(?P<subdomain>.+\.)example\.net$ ; 
    listen [::]:80; 
    listen 80; 

    return 301 https://${subdomain}other.net$request_uri; 
} 

请参阅this answer因为有在Nginx的指定正则表达式的几个变种。