現在Cloudflare中就有多種可以實現重定向功能的産品,包括:頁面規則、批量重定向、動态重定向、Workers等,另外還有源站Apache中設置的.htaccess,比較複雜了,下面來說說如何識别當前起作用的是哪個環節以及這些環節起作用的順序。
先來看《頁面規則的未來》中的一幅Cloudflare流量順序圖:
上面的圖是橫着的,每個環節太小,看不清,再來看一幅豎着的中文圖:
這就可以很清楚看到重定向的順序是:頁面規則、動态重定向、Workers、源服務器,但這個圖中缺少了批量重定向。
那麼如何開查看當前頁面究竟使用的是哪個環節的重定向功能呢?可以在Chrome浏覽器的頁面中用右鍵點擊Inspect(檢查)打開Network(網絡)選項,輸入URL或者刷新頁面,再查看Headers(頭部)裡面的Response Headers(響應頭),就可以判斷是哪個環節了,具體截圖如下:
上面這是“動态重定向”規則起作用的301跳轉的response headers,沒有緩存狀态,浏覽器緩存被設置成固定的1小時(60 * 60 = 3600) cache-control: max-age=3600。
上面這是“批量重定向”規則起作用的301跳轉的response headers,也沒有緩存狀态,浏覽器緩存被設置成固定的1小時,但多了nel、report-to這些。
上面這是“頁面規則”起作用的301跳轉的response headers,與“批量重定向”規則是一樣的。
再上面這種帶有cf-cache-status的response headers就是來自源服務器htaccess的跳轉。
最後這種帶有php的就是來自源服務器上php程序進行的301跳轉。
但我自己反複測試Cloudflare中的幾個重定向功能,發現順序是這樣的:動态重定向、批量重定向、頁面規則重定向,與官方網站的文章中寫得不完全一樣。我覺得這樣也更合理。
评论1
學習了 301 原來是這麼搞得
學習了 301 原來是這麼搞得 我搞了半天