使用Nginx

时间:2019-01-18 23:56:23

标签: 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;
        return 301 $scheme://secondsub.anothersite.co$request_uri;
}

因为我有大约10个子域,所以添加它真的很丑。有没有一种方法可以在一个服务器块中写入多个域重定向?怎么样?

1 个答案:

答案 0 :(得分:1)

如果所有域都具有一致的模式,则可以将正则表达式server_name指令一起使用。

例如:

server {
    listen 80;
    server_name ~^(www\.)?(?<domain>.+)\.example\.com$;
    return 301 $scheme://$domain.anothersite.co$request_uri;
}

有关详细信息,请参见this document