文档

配置访问URL改写

更新时间:

如果客户端实际请求的URL与CDN节点上缓存资源的URL不匹配,可通过访问URL改写功能,将请求URL重定向到目标Path。

背景信息

HTTP 302状态码(即302 Found),可表示资源被临时改变了位置。配置访问URL改写后,CDN节点会在给客户端发送的302状态码响应信息的HTTP Location头部中放置新的URL地址信息,客户端收到302状态码响应之后,将会向新的URL地址发起请求。

配置访问URL改写规则后,CDN节点默认给客户端发送302重定向状态码,同时也支持303和307重定向状态码。

编码

含义

处理方法

典型应用场景

302

Found

GET方法不会发生变更,其他方法有可能会变更为GET方法。

由于不可预见的原因该页面暂不可用。在这种情况下,搜索引擎不会更新它们的链接。

303

See Other

GET方法不会发生变更,其他方法会变更为 GET 方法(消息主体会丢失)。

用于PUT或POST请求完成之后进行页面跳转,防止由于页面刷新导致的操作的重复触发。

307

Temporary Redirect

方法和消息主体都不发生变化。

由于不可预见的原因该页面暂不可用。在这种情况下,搜索引擎不会更新它们的链接。当站点支持非 GET 方法的链接或操作的时候,该状态码优于 302 状态码。

重要

单个域名最多可以配置50条重写规则。配置多条规则时,按照视频点播控制台访问URL改写列表由上而下的顺序执行。

适用场景

客户源站的资源存放路径发生了变更,CDN节点上的资源存放路径也发生了变更,但是用户请求URL里面包含的资源路径没有变更,这时就需要CDN节点来改写用户请求里面的资源路径。例如:图片文件原先存放在目录“/download/”,现在变更为“/image/”。

URI重写规则

操作步骤

  1. 登录视频点播控制台

  2. 在左侧导航栏选择配置管理 > 分发加速配置 > 域名管理,进入到域名管理页面。

  3. 单击目标域名所在行的配置

  4. 在指定域名的左侧导航栏,单击缓存配置

  5. 单击访问URL改写页签。

  6. 单击添加,根据您的实际需求,配置访问URL改写参数。

    参数

    说明

    待改写的Path

    以正斜线(/)开头的URL,不含http://头及域名。支持PCRE正则表达式,例如:^/hello$。

    目标Path

    以正斜线(/)开头的URL,不含http://头及域名,例如:/index.html。

    执行规则

    • 默认支持RedirectBreak这两种规则。

      • Redirect:如果请求URL匹配了某条规则,该请求将会被302重定向到目标URL, CDN节点返回给客户端的Location信息为目标URL(不修改原始URL中的参数)。执行完当前规则后,当存在其他配置规则时,会继续匹配剩余规则。

      • Break:如果请求URL匹配了某条规则,该请求将会被改写为目标URL(不修改原始URL中的参数)。执行完当前规则后,当存在其他配置规则时,将不再匹配剩余规则。

    • 同时支持enhance-breakenhance_redirect三种规则,这三种规则需要提交工单申请后台配置。

      • : 配置了多条规则的情况下,如果请求URL匹配了某条规则,执行完当前规则以后,还会继续匹配后续规则。

      • enhance_break : 和 break类似,但是会修改包含参数在内的整个URL。

      • enhance_redirect : 和redirect类似,但是会修改包含参数在内的整个URL。

    说明

    不同的执行规则使用的改写方式不同,改写后的URL是否支持其他域名、其他协议也存在差异:

    • Breakenhance_break采用直接改写用户请求URL的方式,不支持改写为其他域名,也不支持改写为其他协议(例如从HTTP协议改写为HTTPS协议)。

    • Redirectenhance_redirect采用302跳转方式实现URL改写,支持改写为其他域名,也支持改写为其他协议:

      • 302 Location地址除了可以设置为当前的加速域名,还支持设置为其他域名,可以实现这样的效果:原始URL使用的域名是example.com,改写后的URL使用新的域名aliyundoc.com

      • 302 Location地址支持使用其他协议,可以实现这样的效果:原始URL使用HTTP协议,改写后的URL使用HTTPS协议。

  7. 单击确定,完成配置。

    成功配置重写功能后,您可以在重写列表中,对当前的配置进行修改删除操作。

配置示例

访问URL改写规则按照正则表达式配置如下所示:

  • 待改写的Path:^/hello$

  • 目标Path:/index.html

  • 执行规则:Redirect

客户端请求http://example.aliyundoc.com/hello时,请求中包含/helloCDN节点会在302状态码的Location信息里写入新的URL地址http://example.aliyundoc.com/index.html,并返回给客户端,客户端对http://example.aliyundoc.com/index.html发起请求。

相关文档

BatchSetVodDomainConfigs - 批量配置域名