新聞中心
301轉(zhuǎn)向(或叫301重定向、301跳轉(zhuǎn))是用戶或蜘蛛向網(wǎng)站服務(wù)器發(fā)出訪問請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)部分狀態(tài)碼的一種,表示本網(wǎng)址永久性轉(zhuǎn)移另一個地址。

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計,東營網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東營等地區(qū)。東營做網(wǎng)站價格咨詢:18982081108
實現(xiàn)結(jié)果
需要將以下地址都統(tǒng)一跳轉(zhuǎn)到 https 的根域名
https://chanvinxiao.com
http://chanvinxiao.com (不帶 www 的 http)
http://www.chanvinxiao.com (帶 www 的 http)
https://www.chanvinxiao.com (帶 www 的 https)
301 與 302 的區(qū)別
301 是永久重定向,302 是臨時跳轉(zhuǎn),主要的區(qū)別在于搜索引擎對此的對待方式 ?301:搜索引擎會將權(quán)重和 PR 值進行轉(zhuǎn)移 ?302:搜索引擎不會進行額外處理 現(xiàn)在是希望搜索引擎認為原地址已經(jīng)不存在了,完全轉(zhuǎn)移到新地址,所以使用 301
http 跳轉(zhuǎn)到 https
最簡單的方法是直接在 sever 中返回一個重定向的地址,中間再加上 301 狀態(tài)碼(否則默認為 302)
server {
listen 80;
return 301 https://$host$request_uri;
}
?return 和 rewrite 都屬于 Nginx 的重寫模塊的指令,因為這里不需要對路徑進行修改,所以用 return 會比較方便 ?和request_uri 都是 Nginx http 模塊的嵌入變量,兩個變量合并一起就相當于把請求的 http:// 去掉的結(jié)果
www 跳轉(zhuǎn)到根域名
這個只需在 https 中作處理,因為所有 http 都跳轉(zhuǎn)到 https 了
server {
listen 443 ssl;
server_name ~^(?www\.)?(.+)$;
if ( $www ) {
return 301 https://$2$request_uri;
}
...
?這里利用了 server_name 的正則匹配功能,在其值前增加 ~ 即可啟用,支持 PCRE 語法 ?使用正則是為了確認是否有前綴 www. 以及捕獲根域名,生成兩個變量,一個是具名捕獲變量 ,另一個是數(shù)值捕獲變量2 ?if 里面不支持使用次序捕獲變量,否則會報錯( unknown “1” variable),所以增加了 ? 將 的值賦給了www
減少跳轉(zhuǎn)次數(shù)
以上設(shè)置已經(jīng)滿足了實現(xiàn)結(jié)果,但是有一點瑕疵,就是 http://www.chanvinxiao.com 會先跳轉(zhuǎn)到 https://www.chanvinxiao.com, 再跳轉(zhuǎn)到 https://chanvinxiao.com ,進行二次跳轉(zhuǎn)肯定是不如只需跳轉(zhuǎn)一次的,所以最好讓其直接一步到位,修改 http 的配置如下:
server {
listen 80;
server_name ~^(?:www\.)?(.+)$;
return 301 https://$1$request_uri;
}
在 http 對應(yīng)的 sever 中,把 server_name 也改為正則模式,并將 用捕獲的根域名1 取代 www 在這里會直接棄掉,所以不需要捕獲,使用 ?: 標示實現(xiàn)只分組不捕獲,于是后面的根域名就成了 $1 這樣的結(jié)果是不管原來是否帶 www,都統(tǒng)一跳轉(zhuǎn)到不帶 www 的 https 根域名
總結(jié)
以上配置中不需指定特定域名,可方便兼容和移植,使用了 Nginx 的以下特性: ?server_name 的正則匹配 ?return 指令接收狀態(tài)碼和地址 ?和request_uri 嵌入變量 到此這篇關(guān)于使用Nginx實現(xiàn)301跳轉(zhuǎn)至https的根域名的文章就介紹到這了
文章標題:Nginx301跳轉(zhuǎn)至https根域名具體方法
本文網(wǎng)址:http://fisionsoft.com.cn/article/dhhdeho.html


咨詢
建站咨詢
