如何在 Nginx 服务器块中创建多个停放域名

如何在 Nginx 服务器块中创建多个停放域名

我为我的网站购买了多个域名。现在,我像这样重定向这些停放域名(指向我的 nginx ipaddress 的域名):

server {
    server_name  example.com www.example;
    rewrite ^(.*) http://example.co.uk$1 permanent;
}

现在,我有超过 5 或 6 个停放域名,全部指向此 ipaddress(1 个站点)。因此,如果我为同一个站点有多个停放域名,我唯一的选择是写一个像这样的很长的 server_name 吗?

server {
    server_name  example.com www.example example.org www.example.org example.net www.example.net examples.com www.examples.com examples.org www.examples.org examples.net www.examples.net;
    rewrite ^(.*) http://example.co.uk$1 permanent;
}

上面的内容对我来说似乎不对。但我的问题是,这是怎么做到的?我的意思是,如果我有很多停放域名,我只需在 Nginx 配置的服务器块中不断添加长行,这样应该没有问题吗?

有人可以为我澄清一下吗...

答案1

如果你确保nginx默认服务器包含你的rewrite规则,则你不需要真的完全不需要指定名称,因为如果请求了未知名称,服务器将使用默认服务器。您甚至可以定义一个显式捕获所有服务器,如下所示:

    server {
        listen       80  default_server;
        server_name  _;
        rewrite ^(.*) http://example.co.uk$1 permanent;
    }   

_ 是有效的,因为它永远不是一个有效的名称。

还有其他选择,但最好的方法(IMHO)是停止“停放”域名。如果您不需要它们,请注销它们。

相关内容