我为我的网站购买了多个域名。现在,我像这样重定向这些停放域名(指向我的 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)是停止“停放”域名。如果您不需要它们,请注销它们。