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

Redirect Nginx将外域重定向到我自己的域,redirect,nginx,dns,vps,Redirect,Nginx,Dns,Vps,有一个奇怪的域指向我的服务器的IP地址。 有时DNS会被弄糊涂,它说我连接到那个域而不是我自己的域 我试着联系域名所有者和域名注册商删除指向我的机器的DNS A记录,但他们根本没有帮助 现在我尝试重定向: www.foreigndomain.com 到 www.myowndomain.com 因此,当有人键入或打开www.foreigndomain.com时,它会重定向到我的原始域,而不是在www.foreigndomain.com下提供我的内容 我尝试将此添加到nginx.conf: serv

有一个奇怪的域指向我的服务器的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;
}
但这会产生一个重定向循环,我不太清楚为什么


如何正确执行此操作?

尝试此重写变体:

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

发生重定向循环是因为
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
  }
}

同样的事情。重定向正在发生,但当我试图打开myowndomain.com时,我得到:“这个网页有一个重定向循环”。我是把它放在nginx.conf中,还是在sites enabled文件夹中创建一个新的配置?您可以把它放在http{}部分的任何地方,而“sites enabled”是更好的位置。如果重定向有效,则规则是正确的,但我认为其他域设置(www.myowndomain.com)有问题。“您需要将www变量添加到myowndomain.com服务器名。”-这就成功了。如果不是问题的话,你能解释一下为什么在这种情况下需要www变体吗?在nginx中(我认为大多数甚至所有的web服务器)
www.domain.com
domain.com
,你可以用不同的方式处理每一个,比如将
domain.com
重定向到
www.domain.com
,要对同一台服务器使用不同的名称,请在同一行中将它们与空格连接起来。