我有大约 50 个具有不同 tld 的相同域名,例如:domain.net、domain.org、domain.de、domain.biz、domain.ca...现在我想在 nginx 上将带有和不带有 www 的所有传入请求转发到此域名:http://域名.com我怎样才能做到这一点而不需要列出每个域?
类似于:将所有请求转发至。领域。或 domain.* 至:http://域名.com永恒的
答案1
使用 nginx服务器名称带通配符的指令。例如:
server {
server_name domain.com;
... real server ...
}
server {
server_name domain.* www.domain.*;
rewrite ^ $scheme://domain.com$request_uri? permanent;
}
答案2
我从未使用过 catch all tld 进行检查,但值得一试。目前无法访问任何 nginx 安装,因此如果您可以尝试以下操作,请告诉我它是否有效。
server {
listen 80;
server_name domain.* *.domain.*;
rewrite ^/(.*) http://domain.com/$1 permanent;
}