第一次直面http的301跳轉

301跳轉是永久性的跳轉,這個定義一直是知道的,可是今天卻讓它把本身搞懵了一把。nginx

 

問題復現:瀏覽器

最近在升級https,在升級過程當中發現一個bug,就是當url不閉合的時候會301跳轉到一個閉合的url上面,可是從https跳轉後的url就變成http的了,例如:緩存

https://www.AAA.com/test 會301到 http://www.AAA.com/test/url

 

    第一反應是nginx配置文件中作了這麼一個跳轉,而後去扒nginx的配置文件,把全部的rewrite看了一遍,註釋掉全部疑是地方,仍是會有這個跳轉···沒有辦法,spa

一怒之下把全部的http模塊都註釋掉了,結果我都開始懷疑人生了,仍是會有一個跳轉,真是····code

 

    後來開始跟你們討論,一直在說301跳轉,301跳轉,永久性跳轉,他是永久性跳轉啊,瀏覽器頗有可能會記錄到緩存裏面的啊···因而,清楚瀏覽器緩存,從新去掉blog

rewrite部分,此次不跳轉了,成功~it

    最後把跳轉部分替換成了http和https雙支持的,搞定~class

 

下面附一下修改的配置:test

rewrite ^/([a-zA-Z0-9_\-\/]+[^\/])$ http://$host/$1/ permanent;

替換成:

rewrite ^/([a-zA-Z0-9_\-\/]+[^\/])$ $scheme://$host/$1/ permanent;
相關文章
相關標籤/搜索