參考文章: ,表示感謝!
以前,大家訪問**都是訪問www開頭的,例如 www.baidu.com,但是現在,很多**都支援直接訪問不帶www的,有一些會自動跳轉到帶www,有的卻不會,而且即使你輸入www,也會跳轉到不帶www的**。
好像有點繞,我們來看例子:
接下來,我們就來看一下,怎麼設定nginx,來實現輸入www的**跳轉到不帶www的**。
部落格搭建和nginx配置請參考之前的文章 halo部落格搭建
通常,我們在瀏覽器直接輸入**,瀏覽器缺省會給**加上http://,我們先來說這種情況下的跳轉如何配置。
將 juemuren4449.com 和 www.juemuren4449.com 都解析到部落格伺服器。
進入到nginx配置的目錄:
cd /etc/nginx/
vim nginx.conf
按i進入編輯模式,修改完成之後,先按esc,然後輸入:wq,回車確認即可完成編輯儲存。
將server_name的值設定為
juemuren4449.com www.juemuren4449.com;
增加下面的**:
if ($host != 'juemuren4449.com' )
上面**的意思是,如果網域名稱不是 juemuren4449.com ,那麼就重定向為 juemuren4449.com
完整**如下:
}此時,測試 ,即可跳轉到 。
我的**已經配置了https,所以我要多考慮一種情況,就是直接訪問 的情況。
這種情況下,就要修改443埠監聽裡的配置了,也很簡單,直接上配置了。
server
error_page 404 /404.html;
location = /40x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html
if ($host != 'juemuren4449.com' )
}
只是在最下方增加了下面的**:
if ($host != 'juemuren4449.com' )
此時,測試 ,即可跳轉到 。
至此,無論以何種**訪問我的部落格,都會跳轉到 ,強制跳轉修改完成!
同理,如果想讓不帶www的跳轉到帶www的,只要將上面**中的 juemuren4449.com 和 www.juemuren4449.com 互換位置即可。
本質上來說,這是nginx的重定向功能,通俗講,就是能將a位址指向b位址。
更多重定向的說明,可以參考文章: ,再次表示感謝!
不帶www的網域名稱永久重定向到帶www
apache不帶www的網域名稱永久重定向到帶www 另外補充說明一點 301永久跳轉,當使用者或搜尋引擎向 伺服器發出瀏覽請求時,伺服器返回的http資料流中頭資訊中的狀態碼的一種,表示本網頁永久性轉移到另乙個位址。302臨時跳轉,也是狀態碼的一種,意義是暫時轉向到另外乙個 二者的區別主要是,一句...
帶WWW的網域名稱和不帶www的網域名稱的區別
帶www的網域名稱和不帶www的網域名稱的區別 通俗的解釋 hbcms.com 是一級網域名稱,而在這之前的任何名稱,比如 bbs.hbcms.com 都是二級網域名稱。因此實際上,www.hbcms.com 是網域名稱 hbcms.com 的乙個二級網域名稱,只不過是乙個比較特殊的二級網域名稱罷了...
https下不加www的強制跳轉
不少瀏覽器都開始逐漸更新至只支援https的 所以很多http 都需要新增對https的支援,這時就需要涉及到www和不加www的跳轉問題,由於www和不加www使用的是不同的證書,所以需要做301跳轉處理,方案如下 此處以網域名稱www.testhttps.com和testhttps.com為例,...