功能介绍
回源参数改写功能,可改写回源请求URL中的查询参数,即问号后的参数串。可支持参数的新增、删除、修改,以及保留或忽略所有参数。
适用场景
如果用户发起的原始请求URL中携带的参数与需要发送给源站的参数不一致,您可以通过回源参数改写功能改写回源请求URL中携带的参数。
配置说明
- 登录CDN控制台。
- 单击左侧导航栏【域名管理】-【域名列表】。
- 在【域名列表】页面,找到目标域名,单击【操作】列的【编辑】。
- 单击【回源配置】。
- 单击【回源参数改写】页签。
参数名 | 配置值 | 说明 |
---|---|---|
忽略回源参数 | 停用/启用 | 默认为停用,即回源不忽略参数,启用则忽略所有参数回源。 |
- 单击【添加】,在弹出框中根据您的需求进行配置,单击【确定】。
参数名 | 配置值 | 说明 |
---|---|---|
改写参数模式 | 追加/覆盖 | 追加:可通过追加实现在原有参数基础上进行新增,删除,修改。 覆盖:覆盖原有参数,参数以覆盖后的配置为准,如仅保留部分参数或者替换全部参数。 |
优先级 | 默认10 | 配置下发优先级;存在多条回源参数规则时,按照优先级从低到高依次执行,数字越大,优先级越高。 |
参数名:参数值 | - | 需配置的参数名和参数值: 1.追加参数a,值为123,则如果原来无参数a,则新增参数a,且值为123;如果原来有参数a,则修改参数a的值为123。 2.追加参数a,值为空,则代表删除参数a。 3.覆盖参数a,则参数值可为固定值,也可为某个参数变量,或其他变量: 1)覆盖参数a,参数值为123,则无论原来是否有参数a以及是否有值,均去掉原有的所有参数,替换为参数a,且值为123。 2)覆盖参数a,参数值为$arg_a,则仅保留参数a回源,且其值取原始请求参数a的值。 |
- 单击【提交保存】,完成配置。
配置示例
示例一:忽略所有参数回源
参数名 | 配置示例 |
---|---|
忽略回源参数 | 启用(默认停用,即回源不忽略参数,启用后忽略所有参数回源。) |
结果说明 :忽略所有参数回源。即如果原始请求url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4,则回源时url为:http://www.ctyun.cn/a/a.html。
示例二:回源添加参数
参数名 | 配置示例 |
---|---|
改写参数模式 | 追加 |
优先级 | 默认10 |
参数名 | a |
参数值 | 123 |
结果说明 :回源添加a=123参数;即如果原始请求url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4,则回源url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4&a=123。
示例三:回源删除参数
参数名 | 配置示例 |
---|---|
改写参数模式 | 追加 |
优先级 | 默认10 |
参数名 | b |
参数值 | 置空,即代表删除该参数 |
结果说明 :回源删除b参数;即如果原始请求url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4,则回源url为:http://www.ctyun.cn/a/a.html?c=3&d=4。
示例四:回源仅保留部分参数
参数名 | 配置示例 |
---|---|
改写参数模式 | 覆盖 |
优先级 | 默认10 |
参数名 | c |
参数值 | $arg_c |
结果说明 :回源仅保留c参数;即如果原始请求url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4,则回源url为:http://www.ctyun.cn/a/a.html?c=3。
示例五:回源修改参数值
参数名 | 配置示例 |
---|---|
改写参数模式 | 追加 |
优先级 | 默认10 |
参数名 | d |
参数值 | 123 |
结果说明 :回源修改d参数值为123;即如果原始请求url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=4,则回源url为:http://www.ctyun.cn/a/a.html?b=2&c=3&d=123。
注意事项
- 如果同时配置回源参数改写规则和忽略回源参数,忽略回源参数的优先级更高,回源参数规则全部失效,即最终生效的是忽略所有参数的效果。
- 如果同时配置多条追加和覆盖,按照优先级从低到高依次执行,同等优先级配置下发先后顺序依次执行:
- 不同优先级:例如配置增加参数a=1,优先级为10,同时又配置删除参数a,优先级为11,则先执行增加参数,再在增加的基础上执行删除参数,最终回源不携带a参数。
- 相同优先级:例如先配置添加参数a=1,再配置删除参数a,则最终参数a添加无效;如先配置删除参数a,再添加参数a=1,则最终参数a=1添加生效。
- 回源参数改写功能实际配置下发在边缘节点,即边缘回中间层,以及中间层回源全链路都会受影响。
- 回源参数改写功能不影响缓存key,缓存key可单独设置。