現在Cloudflare中就有多種可以實現重定向功能的産品,包括:頁面規則、批量重定向、動态重定向、Workers等,另外還有源站Apache中設置的.htaccess,比較複雜了,下面來說說如何識别當前起作用的是哪個環節以及這些環節起作用的順序。
先來看《頁面規則的未來》中的一幅Cloudflare流量順序圖:
這是 重定向 分類的頁面,點擊下面标題查看詳細文章内容:
現在Cloudflare中就有多種可以實現重定向功能的産品,包括:頁面規則、批量重定向、動态重定向、Workers等,另外還有源站Apache中設置的.htaccess,比較複雜了,下面來說說如何識别當前起作用的是哪個環節以及這些環節起作用的順序。
先來看《頁面規則的未來》中的一幅Cloudflare流量順序圖:
8月份記錄了一篇博客文章《采用Cloudflare的批量重定向功能降低源服務器負載》,除了使用有限的頁面規則以外,終于有一種另外設置重定向的辦法了,隻是有些呆闆,不能嵌入變量、不能設置複雜條件。
沒有想到9月份就在Cloudflare迎來了動态重定向功能,同時還有一批新的功能,有4種定
對于我們這種很多年建過很多網站的團隊來說,301重定向是一項重要的功能需求。很多時候我們的域名變更、路徑改變、語言版本的調整等等都是網址的永久性改變,需要用到301重定向。
以前我們多是用Apache Rewrite功能來設置,也就是在.htaccess文件中設置跳轉規則,例如:
RewriteCond %{HTTP_HOST
最近同事在整理電話号碼庫數據的時候,發現省市區幾級數據有很多不規範的地方,造成簡稱全稱重疊、省市區級别錯亂等問題,後來找到标準的行政劃分名稱,在數據庫進行了批量替換,但以前存在的頁面現在不存在了,會造成大量死鍊接,需要做301跳轉來保存可訪問性。
晚上找了一些辦法:
10年前做的一把刀實用查詢網站當時先是同事用Java開發了一個版本,但以後的持續改進、維護、開發不方便,我就又弄了一個MediaWiki平台,做了《中文簡體》、《中文繁體》、《英文》三個版本,十年過後還一直有用戶使用,幾個版本的情況:
兩年前寫過一篇博文《Drupal中對404錯誤進行判斷、重定向》,當時是在一個系列網站中采用自定義模塊,在Module文件中構建了一個404錯誤的頁面,在頁面中對錯誤進行判斷并302重定向到合适的内部頁面。在博文下方及留言中也寫了使用.htaccess進行錯誤處理的辦法和例子。
除了站内的這種報錯、跳轉以外,也有站間的報錯需要處理,例如http://chahaoba.com/ 這個站的最新日志信息中類似 http://chahaoba.com/1330719 這樣的報錯很多,其實正确的網址應該是http://www.chahaoba.com/1330719 ,也不知道
最近在繼續把一些網站從托管的自己服務器向雲服務器轉,做網站很多年了,少不了一些以前用301重定向做的網站調整,例如某個子域名telecode.027.net後來單獨申請域名www.chahaoba.com後就一直用的301重定向,這樣的重定向按照搜索引擎優化的說法是需要保持至少6個月,但我們基本上保持了幾年,期間機房、服務器也多次變化,每次都需要記得去進行修改設置。
這樣的跳轉做得多了、服務器搬遷也多了,有些記不得了,這次幹脆趁着再次搬遷的時候來一個整體梳理,把所有以前做過的301重定向全部列出來,還專門做了一個PHP程序來檢測看是否跳轉、跳轉是否正确,把這個
Drupal網站在Site information的設置中有一個404錯誤頁面可以定制到自己希望的網址,如果你在日志中發現大量404錯誤,而其中很多都是同一個類型可以引導到對用戶更有幫助的内容頁面,那麼就可以在這個定制的404錯誤網址中進行判斷、導向。
我做的例子是http://ak.postcodebase.com/not_found ,因為來自外部網站的鍊接中,有一部分是這個站内找不到或者錯誤的郵編,就可以根據URI進行判斷:
2002-2023 v11.7 a-j-e-0