如何使用NGINX将mydomain.com
和任何子域*.mydomain.com
重定向到www.adifferentdomain.com
?如何使用NGINX重定向到不同的域名?
回答
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;
}
这应该通过HTTPRewriteModule工作。
实施例从www.example.com重写到example.com:
server {
server_name www.example.com;
rewrite^http://example.com$request_uri? permanent;
}
这只是重定向www.example.com吨o example.com。我想重定向到一个不同的域。我能以一个规则来做到吗? – deb 2011-05-18 13:12:10
我不确定,但我认为 server_name mydomain.com;重写www.adifferentdomain.com永久; } 应该这样做吗? 这应该采取一切* .mydomain.com? – udo 2011-05-18 13:25:32
@deb你只需要'server_name example.com www.example.com;'。 – citruspi 2012-08-22 16:15:07
为什么使用重写模块,如果可以的话return
?从技术上讲,return
是重写模块的一部分,作为you can read here,但此代码段更易于阅读imho。
server {
server_name .domain.com;
return 302 $scheme://forwarded-domain.com;
}
你也可以给它一个301重定向。
这会保持路径和查询参数吗? – mpen 2014-12-30 21:56:26
没有这个例子不会这样做@Mark。但我想你可以混淆以前的答案来得到这样的东西:'return 302 $ scheme://forwarded-domain.com$request_uri;' – 2015-01-05 15:12:40
在附注中,在很多情况下,你应该只是重定向到https而不是保留该方案(即使用https而不是$方案)。这是出于同样的原因现在认为不赞成使用协议相关链接 - http://www.paulirish.com/2010/the-protocol-relative-url/ – mahemoff 2015-04-29 08:36:36
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
http://wiki.nginx.org/HttpRewriteModule#return
和
如果你想重定向请求 “domain1.com” 到 “domain2.com”,你可以创建一个服务器块,看起来像这样:
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}
- 1. 使用nginx将通配符子域重定向到不同的顶级域名
- 2. 如何重定向到不同的域
- 3. Nginx将外部域名重定向到我自己的域名
- 4. Nginx的子域名+文件夹到域名+ URI重定向
- 5. 使用http将域名重定向到不同的域名使用https
- 6. 如何使用www将用户重定向到Nginx的裸露域名?
- 7. 如何使用htaccess将.com域名重定向到.co.uk域名?
- 8. 将域名从Joomla 1.5.11重定向到不同域名的Wordpress
- 9. Nginx的重定向到的域名,而不是IP地址
- 10. 重定向非SSL域名的SSL域使用不同的TLD
- 11. 如何使用nginx将域重写到不同域中的特定URL?
- 12. nginx将某个网址重定向到不同的域
- 13. Nginx重定向顶级域名
- 14. NGINX域名WWW防止重定向
- 15. Nginx的重定向只有根域而不是子域名WWW
- 16. Nginx重定向到SSL上的主域
- 17. Nginx proxy_pass重定向到错误的域
- 18. 如何主域名+子域名重定向到新域名
- 19. nginx - 只将主域名重定向到www,而不是子域名
- 20. 如何重定向域名?
- 21. 使用Nginx将动态顶级域名重定向到www子域
- 22. 不使用.htaccess重定向子域名
- 23. 如何nginx的请求重定向到不同的路径
- 24. Nginx重定向www.X.domain.com子域
- 25. 如何将新域重定向到不同的子域?
- 26. 如何将子域重定向到不同的域?
- 27. Nginx重定向*:端口到子域
- 28. Nginx:将自定义域名http请求重定向到https
- 29. 如何使用.htaccess将域名重定向到特定网页?
- 30. 使用.htaccess将流量重定向到相同的域名
我是否需要加入港口进行聆听?例如听80.我有多个域,我需要重定向到主域,但我的服务器也有多个虚拟服务器的各种其他域。 – Ryan 2013-01-25 22:26:57
@Ryan未指定时,'listen'指令缺省为端口80。这实际上比一般情况稍微复杂一点;请参阅[nginx配置文档](http://wiki.nginx.org/HttpCoreModule#Directives)以获取更多详细信息。 – Yitz 2013-09-23 17:17:21
'?'在最后得到了什么? – 2014-07-04 00:26:15