這篇文章主要介紹了使用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 ~^(?
[火星人 ] 使用Nginx實現301跳轉至https的根域名示例代碼已經有428次圍觀