nginx 重定向所有流量

nginx 重定向所有流量

domain.com 和 b.domain.com。两个子域名位于不同的服务器上。我使用 nginx 作为我的网络服务器。我必须对 nginx.conf 进行哪些更改才能将所有流量从 a.domain.com 重定向到 b.domain.com?

谢谢你!

答案1

pjmorse 的答案很好(所以我投了赞成票),但我在 a.domain 上使用了一个稍微不同的方案:

server {
  server_name a.domain.com c.domain.com d.domain.com;    # you can serve any number of redirects from here...
  listen 80;
  rewrite (.*) http://b.domain.com$1 permanent;
}

这将返回 HTTP 301 返回代码(永久移动)而不是某些 Web 服务器可能返回的 307。

答案2

这个问题可以提供更多细节。我们可以假设 nginx 是两台服务器上的 httpd 吗?已经进行了什么样的配置?

本指南给出了一个提示,让我提出这样的建议:

在服务器上a.domain.com

server {
    listen       80;
    server_name  a.domain.com;
    rewrite   ^  http://b.domain.com$request_uri?;
}

在服务器上b.domain.com

server {
    listen       80;
    server_name  b.domain.com;
    // Remaining vhost configuration
}

答案3

server {
    server_name
        a.domain.com
    ;
    return 301 http://b.domain.com$request_uri;
}

您可以设置从一个域到另一个域的永久重定向。

相关内容