Nginx将外部域重定向到我自己的域

时间:2014-09-02 13:24:35

标签: redirect nginx dns vps

有一个奇怪的域指向我服务器的IP地址。 有时DNS会混淆,它表示我已连接到该域而不是我自己的域。

我尝试与域名所有者和域名注册商联系,删除指向我的计算机的DNS A记录,但它们根本没用;

现在我正在尝试重定向:

www.foreigndomain.com

www.myowndomain.com

所以当有人打字或打开www.foreigndomain.com时,它会重定向到我原来的域名,而不是在www.foreigndomain.com下提供我的内容。

我尝试将其添加到nginx.conf:

server {
  server_name .foreigndomain.com;
  rewrite ^ http://www.myowndomain.com$request_uri? permanent;
}

但这会创建一个重定向循环,我不太清楚为什么。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

重定向循环的发生是因为www.myowndomain.com匹配执行重定向的同一服务器,修复此问题会创建另一个服务器以捕获该服务器名称

server {
  server_name .foreigndomain.com;
  return 301 http://www.myowndomain.com$request_uri;
}
server {
  server_name www.myowndomain.com;
  location / {
    #config here
  }
}

如果您已经拥有服务器名称为myowndomain.com的服务器,则需要向其添加www变体。

server {
  server_name myowndomain.com www.myowndomain.com;
  location / {
    # config here
  }
}

答案 1 :(得分:0)

尝试使用此重写版本:

server {
  server_name .foreigndomain.com;
  return 301 http://www.myowndomain.com$request_uri;
}