如何使用NGINXredirect到不同的域名?
如何使用NGINX将mydomain.com
和任何子域*.mydomain.com
redirect到www.adifferentdomain.com?
server_name支持使用.mydomain.com语法的后缀匹配:
server { server_name .mydomain.com; rewrite ^ http://www.adifferentdomain.com$request_uri? permanent; }
或任何版本0.9.1或更高版本:
server { server_name .mydomain.com; return 301 http://www.adifferentdomain.com$request_uri; }
server { server_name .mydomain.com; return 301 http://www.adifferentdomain.com$request_uri; }
http://wiki.nginx.org/HttpRewriteModule#return
和
这应该通过HTTPRewriteModule工作。
从www.example.com重写为example.com的示例:
server { server_name www.example.com; rewrite ^ http://example.com$request_uri? permanent; }
为什么使用重写模块,如果你可以做return
? 从技术上讲, return
是重写模块的一部分, 你可以在这里阅读,但这个片段更容易阅读imho。
server { server_name .domain.com; return 302 $scheme://forwarded-domain.com; }
你也可以给它一个301redirect。
如果您想要将“domain1.com”的请求redirect到“domain2.com”,则可以创build一个如下所示的服务器块:
server { listen 80; server_name domain1.com; return 301 $scheme://domain2.com$request_uri; }