最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名示例代碼

 更新時(shí)間:2020年04月13日 14:24:24   作者:chanvin  
這篇文章主要介紹了使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

基于 SEO 和安全性的考量,需要進(jìn)行 301 跳轉(zhuǎn),以下使用 Nginx 作通用處理

實(shí)現(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 是臨時(shí)跳轉(zhuǎn),主要的區(qū)別在于搜索引擎對(duì)此的對(duì)待方式

  1. 301:搜索引擎會(huì)將權(quán)重和 PR 值進(jìn)行轉(zhuǎn)移
  2. 302:搜索引擎不會(huì)進(jìn)行額外處理

現(xiàn)在是希望搜索引擎認(rèn)為原地址已經(jīng)不存在了,完全轉(zhuǎn)移到新地址,所以使用 301

http 跳轉(zhuǎn)到 https

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

server {
 listen 80;
 return 301 https://$host$request_uri;
}
  • return rewrite 都屬于 Nginx 的重寫(xiě)模塊的指令,因?yàn)檫@里不需要對(duì)路徑進(jìn)行修改,所以用 return 會(huì)比較方便
  • $host$request_uri 都是 Nginx http 模塊的嵌入變量,兩個(gè)變量合并一起就相當(dāng)于把請(qǐng)求的 http:// 去掉的結(jié)果

www 跳轉(zhuǎn)到根域名

這個(gè)只需在 https 中作處理,因?yàn)樗?http 都跳轉(zhuǎn)到 https 了

server {
 listen 443 ssl;
 server_name ~^(?<www>www\.)?(.+)$;
 if ( $www ) {
 return 301 https://$2$request_uri;
 }
...
  • 這里利用了 server_name 的正則匹配功能,在其值前增加 ~ 即可啟用,支持 PCRE 語(yǔ)法
  • 使用正則是為了確認(rèn)是否有前綴 www. 以及捕獲根域名,生成兩個(gè)變量,一個(gè)是具名捕獲變量 $www ,另一個(gè)是數(shù)值捕獲變量 $2
  • if 里面不支持使用次序捕獲變量,否則會(huì)報(bào)錯(cuò)( unknown "1" variable),所以增加了 ?<www> 將 $1 的值賦給了 $www

減少跳轉(zhuǎn)次數(shù)

以上設(shè)置已經(jīng)滿足了實(shí)現(xiàn)結(jié)果,但是有一點(diǎn)瑕疵,就是 http://www.chanvinxiao.com 會(huì)先跳轉(zhuǎn)到 https://www.chanvinxiao.com, 再跳轉(zhuǎn)到 https://chanvinxiao.com ,進(jìn)行二次跳轉(zhuǎn)肯定是不如只需跳轉(zhuǎn)一次的,所以最好讓其直接一步到位,修改 http 的配置如下:

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

在 http 對(duì)應(yīng)的 sever 中,把 server_name 也改為正則模式,并將 $host 用捕獲的根域名 $1 取代
www 在這里會(huì)直接棄掉,所以不需要捕獲,使用 ?: 標(biāo)示實(shí)現(xiàn)只分組不捕獲,于是后面的根域名就成了 $1
這樣的結(jié)果是不管原來(lái)是否帶 www,都統(tǒng)一跳轉(zhuǎn)到不帶 www 的 https 根域名

總結(jié)

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

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

到此這篇關(guān)于使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名的文章就介紹到這了,更多相關(guān)Nginx 301跳轉(zhuǎn)至https根域名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx實(shí)現(xiàn)TCP和UDP代理的方法步驟

    Nginx實(shí)現(xiàn)TCP和UDP代理的方法步驟

    Nginx 1.9.13 及以上版本支持TCP/UDP代理功能,通過(guò)配置監(jiān)聽(tīng)端口、后端服務(wù)器地址等參數(shù),實(shí)現(xiàn)客戶端請(qǐng)求的轉(zhuǎn)發(fā)和響應(yīng)的返回,下面就來(lái)介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下
    2024-12-12
  • nginx lua集成kafka的實(shí)現(xiàn)方法

    nginx lua集成kafka的實(shí)現(xiàn)方法

    這篇文章主要介紹了nginx lua集成kafka的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    這篇文章主要介紹了Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例,需要的朋友可以參考下
    2015-04-04
  • 解決nginx+uwsgi部署Django的所有問(wèn)題(小結(jié))

    解決nginx+uwsgi部署Django的所有問(wèn)題(小結(jié))

    本篇文章主要介紹了解決nginx+uwsgi部署Django的所有問(wèn)題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 查看nginx是否已經(jīng)啟動(dòng)的幾種方法總結(jié)

    查看nginx是否已經(jīng)啟動(dòng)的幾種方法總結(jié)

    在Ubuntu或其他Linux系統(tǒng)上,有多種方法可以檢查Nginx是否已經(jīng)啟動(dòng),文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nginx具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-11-11
  • nginx 如何實(shí)現(xiàn)if嵌套的方法示例

    nginx 如何實(shí)現(xiàn)if嵌套的方法示例

    這篇文章主要介紹了nginx 如何實(shí)現(xiàn)if嵌套的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 在Nginx上配置多個(gè)站點(diǎn)的方法

    在Nginx上配置多個(gè)站點(diǎn)的方法

    這篇文章主要介紹了在Nginx上配置多個(gè)站點(diǎn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • nginx異步io配置全過(guò)程

    nginx異步io配置全過(guò)程

    這篇文章主要介紹了nginx異步io配置全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • nginx中使用lua腳本的方法

    nginx中使用lua腳本的方法

    這篇文章主要介紹了nginx中使用lua腳本的方法,本文介紹通過(guò)第三方模塊lua-nginx-module實(shí)現(xiàn)lua腳本在nginx的調(diào)用,并附一個(gè)配置例子,需要的朋友可以參考下
    2014-07-07
  • Nginx?location和proxy_pass配置示例詳解

    Nginx?location和proxy_pass配置示例詳解

    這篇文章主要介紹了Nginx?location和proxy_pass配置的相關(guān)資料,本文詳細(xì)探討了Nginx配置中`location`和`proxy_pass`指令的不同組合方式及其對(duì)請(qǐng)求轉(zhuǎn)發(fā)路徑的影響,通過(guò)列舉多種組合,展示了`location`匹配目錄與`proxy_pass`地址路徑如何相互作用,需要的朋友可以參考下
    2024-11-11

最新評(píng)論

新干县| 青龙| 突泉县| 仙桃市| 咸宁市| 中山市| 板桥市| 秭归县| 祁阳县| 京山县| 盘锦市| 高淳县| 平定县| 天全县| 永清县| 大方县| 山阴县| 泸西县| 长宁区| 荔波县| 达日县| 荆门市| 宁强县| 黄山市| 屏南县| 通山县| 安化县| 霍城县| 垫江县| 崇文区| 丰顺县| 繁昌县| 汾西县| 峨山| 元氏县| 苍山县| 广昌县| 黑河市| 观塘区| 诸暨市| 库车县|