ApsaraVideo for VOD支援在使用者請求需要回源時進行URL改寫,改寫不影響CDN的內部鏈路和緩衝key,只會在CDN節點向來源站點發送回源請求的時候使用改寫後的URL。通過本文您可以瞭解改寫回源URL功能的操作步驟。
工作原理
通過重寫回源URL規則,使請求URL與來源站點URL匹配,準確擷取來源站點的資源,或者傳遞指定的參數給來源站點。
執行規則設定為“空”或者“break”的情況下,僅重寫URL中的資源路徑部分。

執行規則設定為“enhance_break”的情況下,能夠同時重寫資源路徑和請求參數。

注意事項
單個網域名稱可以配置的重寫回源路徑規則數量上限是50個。
規則重寫按照規則列表從上到下順序依次執行,因此順序可能會影響您的重寫結果。
回源URL改寫功能在配置執行規則的情況下,對URL中參數的改寫可能會與網域名稱管理 > 效能最佳化頁簽下的忽略參數功能相衝突,同時配置的時候,需要注意避免配置衝突。
操作步驟
在左側導覽列選擇配置管理 > 分发加速配置 > 域名管理,進入到網域名稱管理頁面。
單擊目標網域名稱所在行的配置。
在指定網域名稱的左側導覽列,單擊回源配置。
單擊回源URL改寫頁簽。
單擊添加,並根據您的需求,配置待改寫的Path、目標Path和執行規則。
重要規則改寫按照回源URL改寫頁面的規則列表從上到下順序執行,此順序可能會影響您的改寫結果。
參數
樣本
說明
待改寫的Path
^/hello$
以正斜線(/)開頭的URL,不含http://頭及網域名稱。支援PCRERegex。
目標Path
/hello/test
以正斜線(/)開頭的URL,不含http://頭及網域名稱。
執行規則
空
如果配置了多條規則,在匹配執行當前規則後,按照從上到下順序按依次執行可以匹配的所有規則。
break
如果配置了多條規則,若請求的URL匹配了當前規則,匹配執行完當前規則後,剩餘規則將不再匹配。
只修改URL中的資源路徑部分,不修改URL的參數,不影響回源參數改寫功能對URL中參數的改寫。
enhance break
如果配置了多條規則,若請求的URL匹配了當前規則,匹配執行完當前規則後,剩餘規則將不再匹配。
與break相似,但是增加了對URL中參數部分的改寫能力。
單擊确定,使改寫規則開始執行和生效。
您也可以在回源URL改寫頁面的規則列表中,單擊修改或删除,對當前配置的規則進行相應操作。
配置樣本
樣本一:執行空規則
待重寫的Path | ^/hello$ |
目標Path | /index.html |
執行規則 | 空 |
結果說明 | 原始請求: 重寫後的回源請求: 該請求將會繼續匹配重寫回源路徑規則列表中其餘的規則。 |
樣本二:執行break規則
待重寫的Path | ^/hello.jpg$ |
目標Path | /image/hello.jpg |
執行規則 | break |
結果說明 | 原始請求: 重寫後的回源請求: 該請求將不再繼續匹配重寫回源路徑規則列表中其餘的規則。 |
樣本三:執行enhance break規則
待重寫的Path | ^/hello.jpg?code=123$ |
目標Path | /image/hello.jpg?code=321 |
執行規則 | enhance break |
結果說明 | 原始請求: 重寫後的回源請求: 該請求將不再繼續匹配重寫回源路徑規則列表中其餘的規則。 |
樣本四:在檔案名稱是變數的情況下對根目錄添加URL首碼
例如:將包含/xxx的URL(xxx代表任意檔案名稱,例如:/hello.jpg、/hello.html等等)重寫為/image/xxx,即對根目錄下的任意檔案的URL都插入路徑/image。
待重寫的Path | ^(.*)$ 說明
|
目標Path | /image$1 說明
|
執行規則 | break |
結果說明 |
該請求將不再繼續匹配回源URL重寫規則列表中其餘的規則。 |
樣本五:在檔案名稱是變數的情況下對指定目錄添加URL首碼
例如:將包含/live/xxx的URL(xxx代表任意檔案名稱,例如:/live/hello.jpg、/live/hello.html 等等)重寫為/image/live/xxx,即對目錄/live下的任意檔案的URL都插入路徑/image。
待重寫的Path | ^/live/(.*)$ |
目標Path | /image/live/$1 |
執行規則 | break |
結果說明 |
該請求將不再繼續匹配回源URL重寫規則列表中其餘的規則。 |
樣本六:匹配多條規則時,執行空規則
配置兩條規則如下圖所示:

結果說明:
原始請求:
http://example.com/image_01.png重寫後的回源請求:
http://example.com/image/image_02.png說明先匹配第一條規則,重寫為
http://example.com/image_02.png,繼續匹配第二條規則,最終重寫為http://example.com/image/image_02.png。
樣本七:匹配多條規則時,執行break規則
配置兩條規則如下圖所示:

結果說明:
原始請求:
http://example.com/image_01.png重寫後的回源請求:
http://example.com/image_02.png說明先匹配第一條規則,重寫為
http://example.com/image_02.png,由於第一條規則設定為break,所以不再匹配後續規則。