功能介绍
回源URI改写可以实现在用户请求需要回源时进行URI改写, 配置回源URI改写功能后,CDN节点向源站发起回源请求时将使用改写后的URI。
适用场景
- 源站服务器的资源所在路径发生了变化,而用户仍然使用原来的URI,此时可在CDN控制台配置回源URI改写功能,将原URI指向新的资源路径。 
- 源站内有同样的资源在多个地方复用,也可以通过回源URI改写将资源指向指定的资源路径。 
注意事项
- 回源URI改写功能只能针对请求URI进行改写,无法对URI后的参数进行改写,若要对URI后的参数进行改写,详情请见:回源参数改写。 
- URI改写会按照从上到下顺序执行规则列表,因此规则列表的顺序会影响改写结果。 
- 单个域名可配置的回源URI改写的规则上限是50条。 
配置说明
- 登录CDN控制台。 
- 单击左侧导航栏【域名管理】-【域名列表】。 
- 在【域名列表】页面,找到目标域名,单击【操作】列的【编辑】。 
- 单击右侧【回源配置】。 
- 在【回源URI改写】模块,单击【增加规则】。 
- 配置【改写模式】、【待改写PATH】、【改写后PATH】。 
- 单击【保存】,完成配置。 
| 参数名 | 说明 | 
|---|---|
| 改写模式 | 默认解码,对回源URI解码后改写,回源时再编码;选择编码,对回源URI原始编码改写,回源时不再编码。 | 
| 待改写PATH | 以/开头的URI,不含http://头及域名。支持正则表达式,如^/test$。 | 
| 改写后PATH | 以/开头的URI,不含http://头及域名。 | 
| 操作 | 可删除配置。 | 
配置示例
示例一:
| 参数名 | 说明 | 
|---|---|
| 改写模式 | 解码 | 
| 待改写PATH | ^/videos/(.+) | 
| 改写后PATH | /cdn/$1 | 
结果说明:原始请求:/videos/a/b/c.mp4,改写后的回源请求:/cdn/a/b/c.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
示例二:
| 参数名 | 说明 | 
|---|---|
| 改写模式 | 解码 | 
| 待改写PATH | ^/[^/]+(.+) | 
| 改写后PATH | $1 | 
结果说明:原始请求:/a/b/c.mp4,改写后的回源请求:/b/c.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
示例三:
| 参数名 | 说明 | 
|---|---|
| 改写模式 | 编码 | 
| 待改写PATH | ^/video/(.*) | 
| 改写后PATH | /cdn/$1 | 
结果说明:
原始请求:/video/视频/a.mp4,改写后的回源请求:/cdn/视频/a.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
原始请求:/video/%E8%A7%86%E9%A2%91/a.mp4,改写后的回源请求:/cdn/%E8%A7%86%E9%A2%91/a.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
示例四:
| 参数名 | 说明 | 
|---|---|
| 改写模式 | 解码 | 
| 待改写PATH | ^/video/(.*) | 
| 改写后PATH | /cdn/$1 | 
结果说明:
原始请求:/video/视频/a.mp4,改写后的回源请求:/cdn/%E8%A7%86%E9%A2%91/a.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
原始请求:/video/%E8%A7%86%E9%A2%91/a.mp4,改写后的回源请求:/cdn/%E8%A7%86%E9%A2%91/a.mp4。改写后的请求将会继续匹配回源URI改写规则列表中其余的规则。
