nginx clean forward 重写多个类似域名

nginx clean forward 重写多个类似域名

我有大约 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;

}

相关内容