Nginx
如何在 Nginx 伺服器塊中創建多個停放域
我為我的網站購買了多個域名。現在,我像這樣重定向這些停放的域(指向我的 nginx ipaddress 的域):
server { server_name example.com www.example; rewrite ^(.*) http://example.co.uk$1 permanent; }
現在,我有超過 5 或 6 個停放的域都指向這個 IP 地址(1 個站點)。因此,如果我為同一個站點有多個停放域,我唯一的選擇是寫一個非常長的 server_name 嗎?
server { server_name example.com www.example example.org www.example.org example.net www.example.net examples.com www.examples.com examples.org www.examples.org examples.net www.examples.net; rewrite ^(.*) http://example.co.uk$1 permanent; }
以上對我來說看起來不正確。但我的問題是,這是怎麼做到的?我的意思是,如果我有很多停放的域,我只是在我的 Nginx 配置的伺服器塊中不斷添加我的冗長行,這應該沒有問題嗎?
有人可以為我澄清一下嗎…
如果您確保
nginx
預設伺服器包含您的rewrite
規則,則根本不需要指定名稱,因為如果請求未知名稱,伺服器將與預設伺服器作出反應。你甚至可以像這樣定義一個明確的 catch all 伺服器:server { listen 80 default_server; server_name _; rewrite ^(.*) http://example.co.uk$1 permanent; }
這是有效的,因為
_
它永遠不是一個有效的名稱。還有其他選擇,但最好的方法(恕我直言)是頂級停止“停放”域。如果您不需要它們,請取消註冊。