如果來源站點資源的存放路徑發生變化,而使用者請求的URL保持不變,您可以通過在邊緣安全加速 ESA節點上配置重新導向規則來匹配來源站點路徑,將使用者請求的URL重新導向至目標URL,從而減少回源請求,提高用戶端訪問效能。
功能介紹
重新導向規則的詳細說明如下:
在ESA節點上配置重新導向規則後,使用者通過用戶端發起資源訪問請求。
ESA節點向用戶端返回重新導向狀態代碼(例如:301或302),並在HTTP回應標頭中攜帶目標URL。
用戶端在收到該響應後,直接向ESA節點的Location資訊中新的URL地址發起請求,完成資源訪問。
ESA支援的重新導向狀態代碼及典型應用情境
狀態代碼 | 含義 | 處理方法 | 典型應用情境 |
301 | 永久重新導向(Moved Permanently) | GET方法不變,其他方法可能變更為GET。 | 請求資源已永久移動到由Location頭部指定的新URL,搜尋引擎會更新連結。 |
302 | 臨時重新導向(Found) | GET方法不變,其他方法可能變更為 GET。 | 頁面暫時不可用,搜尋引擎不會更新連結。 |
303 | 臨時重新導向(See Other) | GET方法不變,其他方法會強制變更為GET(訊息主體丟失)。 | 用於PUT或POST請求完成後的頁面跳轉,避免頁面重新整理導致重複操作。 |
307 | 臨時重新導向(Temporary Redirect) | 方法和訊息主體都不變。 | 頁面暫時不可用,當網站支援非GET方法的連結或操作時,該狀態代碼優於302狀態代碼。 |
308 | 永久重新導向(Permanent Redirect) | 方法和訊息主體都不變。 | 永久遷移資源,強制用戶端保留原始要求方法和請求體,適用於網站重構或API遷移等需要保持語義一致性的情境。 |
操作步驟
新增重新導向規則後,當使用者發起資源訪問請求時,ESA將根據規則的生效優先順序依次進行匹配與執行,並返回相應的結果。
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊新增規則,填寫規則名稱。
在如果請求匹配以下規則...地區設定要匹配的使用者請求特徵,具體配置規則請參見規則運算式的組成。
在單一重新導向地區,選擇重新導向類型靜態,寫入具體URL,選擇狀態代碼。

參數
類型
說明
類型
靜態
當您需要重新導向到固定URL時,請選擇靜態,並將目標URL設定為固定字串,例如:URL填寫
https://test.example.com/image/1.jpg?test=123。動態
當您需要動態修改原URL時,請選擇動態,並將目標URL設定為一個運算式,例如:運算式填寫
concat("https://www.example.com", http.request.uri.path),表示將使用者請求URL中的主機名稱替換為一個新的網域名稱,URL中的路徑保持不變。狀態代碼
配置重新導向的響應狀態代碼:301(預設)、302、303、307和308。詳細說明請參考:ESA支援的重新導向狀態代碼及典型應用情境。
保留查詢字串
是否攜帶原查詢參數至目標URL,預設關閉,即重新導向後不攜帶原請求的查詢參數。
開啟保留查詢字串後:
如果使用者請求的URL中攜帶了查詢字串,則覆蓋重新導向URL中的查詢字串。
如果使用者請求的URL中沒有攜帶查詢字串,則使用重新導向URL中的查詢字串。
詳細配置樣本請見:配置樣本。
單擊確定。
配置樣本
操作類型為靜態樣本
配置情境 1
請求是否攜帶查詢字串:否
重新導向URL是否攜帶查詢字串:是
保留查詢字串配置:開啟/關閉
使用者請求URL樣本:
http://test.example.com/1.jpg配置的重新導向URL樣本:
http://test.example.com/image/1.jpg?test=123實際重新導向Location樣本:
http://test.example.com/image/1.jpg?test=123說明:原始請求無查詢參數時,無論保留配置是否開啟,最終Location均保留配置URL的查詢字串。
配置情境 2
請求是否攜帶查詢字串:是
重新導向URL是否攜帶查詢字串:是
保留查詢字串配置:開啟
使用者請求URL樣本:
http://test.example.com/1.jpg?test=321配置的重新導向URL樣本:
http://test.example.com/image/1.jpg?test=123實際重新導向Location樣本:
http://test.example.com/image/1.jpg?test=321說明:保留配置開啟時,僅保留原始請求的查詢字串,忽略配置URL的查詢參數。
配置情境 3
請求是否攜帶查詢字串:是
重新導向URL是否攜帶查詢字串:是
保留查詢字串配置:關閉
使用者請求URL樣本:
http://test.example.com/1.jpg?test=321配置的重新導向URL樣本:
http://test.example.com/image/1.jpg?test=123實際重新導向Location樣本:
http://test.example.com/image/1.jpg?test=123說明:保留配置關閉時,僅保留配置URL的查詢字串,忽略原始請求的查詢參數。
配置情境 4
請求是否攜帶查詢字串:是
重新導向URL是否攜帶查詢字串:否
保留查詢字串配置:開啟
使用者請求URL樣本:
http://test.example.com/1.jpg?test=321配置的重新導向URL樣本:
http://test.example.com/image/1.jpg實際重新導向Location樣本:
http://test.example.com/image/1.jpg?test=321說明:保留配置開啟時,自動將原始請求的查詢字串附加到配置URL(即使配置URL無查詢參數)。
配置情境 5
請求是否攜帶查詢字串:是
重新導向URL是否攜帶查詢字串:否
保留查詢字串配置:關閉
使用者請求URL樣本:
http://test.example.com/1.jpg?test=321配置的重新導向URL樣本:
http://test.example.com/image/1.jpg實際重新導向Location樣本:
http://test.example.com/image/1.jpg說明:保留配置關閉時,直接丟棄原始請求的查詢字串,僅返回配置URL。
操作類型為動態樣本
配置情境 1
保留查詢字串配置:關閉
使用者請求URL樣本:
https://test.example.com/image/1.jpg?test=123函數運算式:
concat("https://www.example.com", http.request.uri.path)實際重新導向Location樣本:
https://www.example.com/image/1.jpg說明:
配置關閉時,僅保留路徑部分(
/image/1.jpg),忽略原始請求的查詢字串(?test=123)。函數運算式僅拼接網域名稱和路徑,不處理查詢參數。
配置情境 2
保留查詢字串配置:開啟
使用者請求URL樣本:
https://test.example.com/image/1.jpg?test=123函數運算式:
concat("https://www.example.com", http.request.uri.path)實際重新導向Location樣本:
https://www.example.com/image/1.jpg?test=123說明:
配置開啟時,自動將原始請求的查詢字串附加到產生的URL(即使函數運算式未顯式處理查詢參數)。
函數運算式僅處理路徑拼接,查詢字串由系統根據配置自動追加。
保留查詢字串配置 | 使用者請求URL樣本 | 函數運算式 | 實際重新導向Location樣本 |
關閉 | https://test.example.com/image/1.jpg?test=123 | concat("https://www.example.com", http.request.uri.path) | https://www.example.com/image/1.jpg |
開啟 | https://test.example.com/image/1.jpg?test=123 | concat("https://www.example.com", http.request.uri.path) | https://www.example.com/image/1.jpg?test=123 |
不同套餐的支援情況
重新導向規則 | Entrance | Pro | Premium | Enterprise |
支援配置的重新導向規則數量 | 10條 | 25條 | 50條 | 125條 |
相關文檔
規則相關的功能,在生效優先順序、可重新進入性、生效顆粒度這三個特性上存在差異,詳細情況請查看規則相關功能的特性說明。