更新时间:2024-08-09 GMT+08:00

配置访问URL重写

当用户请求URL与CDN节点缓存资源的URL不一致时,可以通过访问URL重写功能重定向到目标URL。

适用场景

如果服务器资源的存放路径变化,CDN节点存放资源的路径也会随之变化。用户请求的URL路径如果没有变化,就需要CDN节点来改写用户请求的URL。例如用户请求的图片“a”的路径为“/test”,服务器中图片“a”的存放路径已改为“/testnew”。

CDN通过重定向的方式来完成URL的匹配,HTTP 302状态码(即302 Found),可表示资源被临时改变了位置。配置访问URL改写后,CDN节点会在给客户端发送的302状态码响应信息的HTTP Location头部中放置新的URL地址信息,客户端收到302状态码响应之后,将会向新的URL地址发起请求。重定向的状态码及其含义详见表表1

表1 重定向方式

编码

含义

处理方法

典型应用场景

301

Moved Permanently

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

资源被永久转移。

302

Found

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

由于不可预见的原因该页面暂不可用。

303

See Other

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

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

307

Temporary Redirect

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

由于不可预见的原因该页面暂不可用。当站点支持非GET方法的链接或操作的时候,该状态码优于302状态码。

操作步骤

  1. 登录华为云控制台,在控制台首页中选择CDN与智能边缘 > 内容分发网络 CDN,进入CDN控制台。
  2. 在左侧菜单栏中,选择域名管理
  3. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
  4. 选择“缓存配置”页签。
  5. 在访问URL重写模块,单击“添加”
    图1 添加访问URL重写
    表2 参数说明

    参数

    说明

    匹配类型

    • 目录路径:指定目录下的文件需执行访问URL重写规则。
    • 全路径:某个完整路径下的文件需执行访问URL重写规则。
    • 首页:访问域名首页时需执行访问URL重写规则。

    匹配内容

    • 目录路径:输入要求以“/”作为首字符,以“,”进行分隔,不支持通配符"*",输入的目录路径总数不能超过20个。示例:/test/folder01,/test/folder02。
    • 全路径:支持匹配指定目录下的具体文件或者带通配符"*"的文件。输入要求以“/”作为首字符,"*"不能在结尾,最多可配置一个"*"。示例:如/test/index.html或/test/*.jpg。
    • 首页:匹配类型为首页时不填匹配内容,只能配置一条“匹配类型”“首页”的规则。
    • 目录路径和全路径均不支持正则匹配。

    重定向URL

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

    • 当匹配类型为全路径时,"*"可以用“$1”捕获,例如:匹配内容为/test/*.jpg,重定向URL配置为/newtest/$1.jpg,则用户请求/test/11.jpg时,$1捕获11,重定向后请求的URL为/newtest/11.jpg。

    执行规则

    支持Redirect和Break这两种规则。

    • Redirect:如果请求的URL匹配了当前规则,该请求将被重定向到目标Path。执行完当前规则后,当存在其他配置规则时,会继续匹配剩余规则。
    • Break:如果请求的URL匹配了当前规则,请求将被改写为目标Path。执行完当前规则后,当存在其他配置规则时,将不再匹配剩余规则,此时不支持配置“重定向Host”“重定向状态码”,返回状态码200。

    重定向Host

    支持将客户端请求重定向到其他域名,执行规则为Redirect时需要配置此参数。

    • 不填时默认为当前域名。
    • 支持字符长度为1-255,必须以http://或https://开头,例如http://www.example.com。
    • 不支持中文字符。

    重定向状态码

    执行规则为Redirect时需要配置此参数,支持301、302、303、307,各个重定向方式的区别详见表1

    优先级

    访问URL重写规则的优先级,取值为1~100之间的整数,数值越大优先级越高。

    优先级设置具有唯一性,不支持多条规则设置同一优先级,且优先级不能输入为空。

  6. 单击“确定”,完成配置。