配置URI重写
更新时间:2023-07-20
概述
当您需要将实际访问的 URI 修改为与源站匹配的 URI 时,您可通过自定义 URI 重写配置来实现,我们的 URI 重写功能支持两种模式。
URI 重写的模式 | 执行规则 | 说明 |
---|---|---|
302 跳转 | Redirect | CDN通过 302 跳转,将原始的 URI 302 重定向到目标 URI,客户端收到CDN返回的 302 后,Follow 302 Location中的目标 URI ,向目标 URI 发起请求 |
直接修改 | Break | CDN直接修改原始的 URI 并回源,无需302,客户端不感知 |
您可以根据实际业务场景,选用某个模式。
注意事项
- 单个域名至多可添加10条重写规则。
- URI 支持包含参数、不包含参数的重写,默认不包含参数。
- 优先级:根据配置顺序匹配,匹配成功则结束,先配置的优先级高。
操作步骤
- 登录CDN管理控制台,进入“内容分发网络CDN”页面。
- 在左侧导航栏,点击域名管理。
- 进入域名管理页面,点击目标域名操作列的管理。
- 进入“CDN域名详情”页,在页面上方导航栏选择缓存配置页签。
- 在URI重写配置中点击添加重写规则。
- 在弹出的URI重写配置框中完成重写规则填写。
配置项 | 说明 |
---|---|
待重写URI | 不含http(s)://头和域名。 可以匹配参数,比如只改写带有特定参数的URI。 支持正则以及捕获,比如(/[^?]+)\?c=1 |
目标URI | 不含http(s)://头和域名。 最终生成的URI必须以/开头。 支持捕获,比如${1}1。 目标URI里面如果没有?,则会带上原始参数。如果有?,则会用?后面的参数替换原始参数。 |
执行规则 |
• Redirect:302跳转的模式。若请求的URI匹配了当前规则,该请求将被302重定向跳转到目标URI。 • Break:直接修改的模式。若请求的URI匹配了当前规则,该请求将直接被改写为目标URI。 注:执行完当前规则后,将不再匹配剩余规则。 |
示例:
-
正则+捕获的重写示例:比如访问URI为/a?c=1
- 待重写URI为(/[^?]+)\?c=1,目标URI为$1,改写后URI为/a?c=1
- 待重写URI为(/[^?]+)\?c=1,目标URI为$11,$11捕获失败,改写失败
- 待重写URI为(/[^?]+)\?c=1,目标URI为${1}1,改写后URI为/a1?c=1
-
参数相关的重写示例:比如访问URI为/a?c=1
- 待重写URI为/a,目标URI为/b,改写后URI为/b?c=1
- 待重写URI为/a,目标URI为/b?,改写后URI为/b
- 待重写URI为/a,目标URI为/b?d=1,改写后URI为/b?d=1
- 点击确认,完成规则配置。