如何使用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