我想使用Nginx将服务器上的多个子域重定向到另一个。到目前为止,这是我正在做的事情:
server {
listen 80;
server_name firstsub.example.com;
return 301 $scheme://firstsub.anothersite.co$request_uri;
}
server {
listen 80;
server_name secondsub.example.com;
return 301 $scheme://secondsub.anothersite.co$request_uri;
}
因为我有大约10个子域,所以添加它真的很丑。有没有一种方法可以在一个服务器块中写入多个域重定向?怎么样?
答案 0 :(得分:1)
如果所有域都具有一致的模式,则可以将正则表达式与server_name
指令一起使用。
例如:
server {
listen 80;
server_name ~^(www\.)?(?<domain>.+)\.example\.com$;
return 301 $scheme://$domain.anothersite.co$request_uri;
}
有关详细信息,请参见this document。