91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx實現301跳轉至https的根域名展示

發布時間:2020-08-18 08:52:40 來源:ITPUB博客 閱讀:254 作者:大雄45 欄目:建站服務器
這篇文章主要介紹了使用Nginx實現301跳轉至https的根域名,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

基于 SEO 和安全性的考量,需要進行 301 跳轉,以下使用 Nginx 作通用處理

實現結果

需要將以下地址都統一跳轉到 https 的根域名

https://chanvinxiao.com
http://chanvinxiao.com (不帶 www 的 http)
http://www.chanvinxiao.com (帶 www 的 http)
https://www.chanvinxiao.com (帶 www 的 https)
301 與 302 的區別

301 是永久重定向,302 是臨時跳轉,主要的區別在于搜索引擎對此的對待方式

301:搜索引擎會將權重和 PR 值進行轉移
302:搜索引擎不會進行額外處理
現在是希望搜索引擎認為原地址已經不存在了,完全轉移到新地址,所以使用 301

http 跳轉到 https

最簡單的方法是直接在 sever 中返回一個重定向的地址,中間再加上 301 狀態碼(否則默認為 302)

server {
 listen 80;
 return 301 https://$host$request_uri;
}

return 和 rewrite 都屬于 Nginx 的重寫模塊的指令,因為這里不需要對路徑進行修改,所以用 return 會比較方便
$host 和$request_uri 都是 Nginx http 模塊的嵌入變量,兩個變量合并一起就相當于把請求的 http:// 去掉的結果

www 跳轉到根域名

這個只需在 https 中作處理,因為所有 http 都跳轉到 https 了

server {
 listen 443 ssl;
 server_name ~^(?www\.)?(.+)$;
 if ( $www ) {
 return 301 https://$2$request_uri;
 }
...

這里利用了 server_name 的正則匹配功能,在其值前增加 ~ 即可啟用,支持 PCRE 語法
使用正則是為了確認是否有前綴 www. 以及捕獲根域名,生成兩個變量,一個是具名捕獲變量 $www ,另一個是數值捕獲變量 $2
if 里面不支持使用次序捕獲變量,否則會報錯( unknown "1" variable),所以增加了 ? 將 $1 的值賦給了 $www

減少跳轉次數

以上設置已經滿足了實現結果,但是有一點瑕疵,就是 http://www.chanvinxiao.com 會先跳轉到 https://www.chanvinxiao.com, 再跳轉到 https://chanvinxiao.com ,進行二次跳轉肯定是不如只需跳轉一次的,所以最好讓其直接一步到位,修改 http 的配置如下:

server {
 listen 80;
 server_name ~^(?:www\.)?(.+)$;
 return 301 https://$1$request_uri;
}

在 http 對應的 sever 中,把 server_name 也改為正則模式,并將 $host 用捕獲的根域名 $1 取代
www 在這里會直接棄掉,所以不需要捕獲,使用 ?: 標示實現只分組不捕獲,于是后面的根域名就成了 $1
這樣的結果是不管原來是否帶 www,都統一跳轉到不帶 www 的 https 根域名

總結

以上配置中不需指定特定域名,可方便兼容和移植,使用了 Nginx 的以下特性:

server_name 的正則匹配
return 指令接收狀態碼和地址
$host 和 $request_uri 嵌入變量

到此這篇關于使用Nginx實現301跳轉至https的根域名的文章就介紹到這了,更多相關Nginx 301跳轉至https根域名內容請搜索 腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

原文來自: https://www.linuxprobe.com/nginx-301-https.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡泽县| 马鞍山市| 安化县| 通道| 公主岭市| 和龙市| 荆州市| 庐江县| 西乌珠穆沁旗| 太和县| 南宫市| 青铜峡市| 儋州市| 仙居县| 台北县| 许昌市| 泸西县| 安义县| 黄浦区| 仁化县| 屏东县| 手机| 乌拉特后旗| 贡嘎县| 洛南县| 肇州县| 法库县| 松江区| 抚远县| 乐亭县| 秦皇岛市| 原平市| 五家渠市| 临夏市| 周至县| 深圳市| 巴林右旗| 鄯善县| 渑池县| 西青区| 稻城县|