2016-07-28 142 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的指定正則表達式的幾個變種。