如果源站資源的存放路徑變化,DCDN節點存放資源的路徑也會隨之變化。用戶請求的URL路徑如果沒有變化,就需要DCDN節點來改寫用戶請求的URL,將請求URL重定向到目標Path,減少回源,提升客戶端訪問性能。
背景信息
HTTP 302狀態碼(即302 Found),可表示資源被臨時改變了位置。配置URI重寫后,DCDN節點會在給客戶端發送的302狀態碼響應信息的HTTP Location頭部中放置新的URI地址信息,客戶端收到302狀態碼響應之后,將會向新的URI地址發起請求。
配置URI重寫規則后,DCDN節點默認給客戶端發送302重定向狀態碼,同時也支持303和307重定向狀態碼,如果您需要修改重定向狀態碼,可以通過填寫信息申請。
編碼 | 含義 | 處理方法 | 典型應用場景 |
302 | Found | GET方法不會發生變更,其他方法有可能會變更為GET方法。 | 由于不可預見的原因該頁面暫不可用。在這種情況下,搜索引擎不會更新它們的鏈接。 |
303 | See Other | GET方法不會發生變更,其他方法會變更為 GET 方法(消息主體會丟失)。 | 用于PUT或POST請求完成之后進行頁面跳轉,防止由于頁面刷新導致的操作的重復觸發。 |
307 | Temporary Redirect | 方法和消息主體都不發生變化。 | 由于不可預見的原因該頁面暫不可用。在這種情況下,搜索引擎不會更新它們的鏈接。當站點支持非 GET 方法的鏈接或操作的時候,該狀態碼優于 302 狀態碼。 |
單個域名最多可以配置50條重寫規則。配置多條規則時,按照DCDN控制臺URI重寫列表由上而下的順序執行。
適用場景
客戶源站的資源存放路徑發生了變更,DCDN節點上的資源存放路徑也發生了變更,但是用戶請求URL里面包含的資源路徑沒有變更,這時就需要DCDN節點來改寫用戶請求里面的資源路徑。例如:圖片文件原先存放在目錄“/download/”,現在變更為“/image/”。
操作步驟
登錄DCDN控制臺。
在左側導航欄,單擊域名管理。
在域名管理頁面,單擊目標域名對應的配置。
在指定域名的左側導航欄,單擊緩存配置。
單擊重寫訪問URL頁簽。
單擊添加,根據您的實際需求,配置重寫規則。
參數
說明
待重寫URI
執行規則設置為Break的情況下,僅支持以
/
開頭的Path,不含協議頭和域名。執行規則設置為Redirect的情況下,可以包含協議頭和域名。支持PCRE正則表達式,如
^/hello$
。
目標URI
執行規則設置為Break的情況下,僅支持以
/
開頭的Path,不含協議頭和域名。執行規則設置為Redirect的情況下,可以包含協議頭和域名。支持PCRE正則表達式,例如:常用
$1
、$2
來捕獲待改寫Path中圓括號內的字符串。
執行規則
支持Redirect和Break這兩種規則。
Redirect:如果請求URI匹配了某條規則,該請求將會被302重定向到目標URI, DCDN節點返回給客戶端的Location信息為目標URI(不修改原始URI中的參數)。執行完當前規則后,當存在其他配置規則時,會繼續匹配剩余規則。
Break:如果請求URI匹配了某條規則,該請求將會被改寫為目標URI(不修改原始URI中的參數)。執行完當前規則后,當存在其他配置規則時,將不再匹配剩余規則。
單擊確定,完成配置。
成功配置重寫功能后,您可以在重寫列表中,對當前的配置進行修改或刪除操作。
配置示例
URI重寫規則按照正則表達式配置如下圖所示:
客戶端請求http://example.aliyundoc.com/hello
時,請求中包含/hello
,DCDN節點會在302狀態碼的Location信息里寫入新的URI地址http://example.aliyundoc.com/index.html
,并返回給客戶端,客戶端對http://example.aliyundoc.com/index.html
發起請求。