![nginx 重定向所有流量](https://linux22.com/image/527549/nginx%20%E9%87%8D%E5%AE%9A%E5%90%91%E6%89%80%E6%9C%89%E6%B5%81%E9%87%8F.png)
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;
}
您可以设置从一个域到另一个域的永久重定向。