使用此服务器配置,我可以将所有请求重定向到另一个域:
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命令中使用占位符吗?
答案 0 :(得分: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中指定正则表达式的变体很少。