使用Nginx在服务器块中进行多个子域重定向

使用Nginx在服务器块中进行多个子域重定向,nginx,Nginx,我想用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;

我想用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个子域名,像那样添加它会非常难看。有没有办法在一个服务器块中写入多个域重定向?如何操作?

如果所有域都具有一致的模式,则可以使用带有
server\u name
指令的正则表达式

例如:

server {
    listen 80;
    server_name ~^(www\.)?(?<domain>.+)\.example\.com$;
    return 301 $scheme://$domain.anothersite.co$request_uri;
}
服务器{
听80;
服务器名称^(www\.)?(?。+)\.example\.com$;
返回301$scheme://$domain.anothersite.co$request\u uri;
}
有关详细信息,请参阅