当您需要改写回源请求中的URI时,可以配置回源URI改写功能。通过本文您可以了解配置重写规则的操作方法。
背景信息
当您的回源请求URI与源站的URI不匹配时,需要将您的回源请求URI修改为与源站匹配的URI,您可以根据实际需要配置多条改写匹配规则。
操作步骤
- 登录CDN控制台。
- 在左侧导航栏,单击域名管理。
- 在域名管理页面,单击目标域名对应的管理。
- 在指定域名的左侧导航栏,单击回源配置。
- 单击回源URI改写。
- 在回源URI改写页签,单击添加。
- 根据您的需求,配置需要改写的URI、目标URI和执行规则。

参数 |
示例 |
说明 |
需要改写的URI |
^/hello$ |
以正斜线(/)开头的URI,不含http://头及域名。支持PCRE正则表达式。 |
目标URI |
/hello/test |
以正斜线(/)开头的URI,不含http://头及域名。 |
执行规则 |
空 |
如果配置了多条规则,在匹配执行当前规则后,继续匹配后续规则。 |
break |
如果配置了多条规则,在匹配执行当前规则后,后续规则将不再匹配,并且只修改URI部分,不修改URL的参数。 |
enhance_break |
如果配置了多条规则,在匹配执行当前规则后,后续规则将不再匹配,但是匹配和修改整个URL(包括URI+参数)。 |
注意
- 回源URI改写功能中的执行规则“break”虽然不修改URL的参数部分,但是并不影响回源参数改写功能对URL中参数的改写。
- 回源URI改写功能在配置执行规则“enhance_break”的情况下,对URL中参数的改写可能会与回源参数改写功能对URL中参数的改写相冲突,这两个功能同时配置的时候,需要注意避免配置冲突。
- 回源URI改写功能在配置执行规则“enhance_break”的情况下,对URL中参数的改写可能会与页签下的保留参数或忽略参数功能相冲突,这三个功能同时配置的时候,需要注意避免配置冲突。
- 单击确定,使改写规则开始执行和生效。
您也可以在回源URI改写页面的规则列表中,单击修改或删除,对当前配置的规则进行相应操作。
注意
- 单个域名可以配置的回源URI改写规则数量上限是50个。
- 规则改写按照规则列表从上到下顺序执行的,此顺序可能会影响您的改写结果。
- 回源URI改写功能与重写功能的区别在于,重写功能的作用位置是在CDN边缘节点上面,会影响CDN内部链路,也会改写缓存key,而回源URI改写功能的作用位置是在CDN回源节点上面,不影响CDN内部链路,不改写缓存key。
操作样例
样例一
待改写URI |
^/hello$ |
目标URI |
/index.html |
执行规则 |
空 |
结果说明 |
原始请求:http://domain.com/hello 改写后的回源请求:http://domain.com/index.html
该请求将会继续匹配回源URI改写规则列表中其余的规则。
|
样例二
待改写URI |
^/hello.jpg$ |
目标URI |
/image/hello.jpg |
执行规则 |
break |
结果说明 |
原始请求:http://domain.com/hello.jpg 改写后的回源请求:http://domain.com/image/hello.jpg
该请求将不再继续匹配回源URI改写规则列表中其余的规则。
|
样例三
待改写URI |
^/hello.jpg?code=123$ |
目标URI |
/image/hello.jpg?code=321 |
执行规则 |
enhance_break |
结果说明 |
原始请求:http://domain.com/hello.jpg?code=123 改写后的回源请求:http://domain.com/image/hello.jpg?code=321 该请求将不再继续匹配回源URI改写规则列表中其余的规则。
|