Domain-Name-System
Nginx 域名重定向
假設我有一個名為 的網站
xyz.co
,我還有其他具有相同前綴的域名,例如xyz.com, xyz.it, xyz.co.it
現在 nginx 在 in 中可以正常工作
server_name xyz.co
,nginx.conf
我port 80
希望所有其他域都重定向到xyz.co
我也希望www.*
上面的版本重定向到xyz.co
. 我怎樣才能得到這個?這是 nginx 網路伺服器級別的變化嗎?或者我需要做這個改變DNS
?
server { listen 80; server_name www.xyz.co xyz.com xyz.it xyz.co.it www.xyz.com www.xyz.it www.xyz.co.it; rewrite ^ http://xyz.co$request_uri? permanent; } server { listen 80; server_name xyz.co; .................... .................... .................... }
permanent
如果您想要 302 重定向而不是 301,則可以從 rewrite 指令中刪除該標誌。
server { server_name ~^(?:www\.)?xyz\.(?:com|(?:co\.)?it)$; return http://xyz.co$request_uri; }
或更有效:
server { listen 80; server_name xyz.com www.xyz.com xyz.it www.xyz.it xyz.co.it www.xyz.co.it; return http://xyz.co$request_uri; }
- http://nginx.org/r/server_name
- http://nginx.org/r/return
- man pcresyntax
- 人 pcrepattern