You need to enable JavaScript to run this app.
导航
配置回源 URL 改写
最近更新时间:2025.09.26 14:09:52首次发布时间:2025.09.26 14:09:52
复制全文
我的收藏
有用
有用
无用
无用

本文为您介绍如何在视频点播中对加速域名配置回源 URL 改写。该功能允许对 CDN 回源请求 URL 中的路径和查询参数进行改写。

适用范围

回源 URL 改写适用于自定义源站加速域名。

功能概述

在源站上,假设某些文件的 URL 或者 URL 的访问逻辑发生了变更。此时,有以下几种解决方案:

  • 方案 1:在源站配置 301 或 302 重定向,将内容的原 URL 重定向到新的 URL。同时,在 CDN 中配置回源重定向跟随功能。
  • 方案 2:不在源站做任何变更,而是在 CDN 中配置 URL 重定向改写功能。如果用户请求了原 URL,CDN 会响应 301 或者 302 状态码,指示用户浏览器向新的 URL 发送请求。
  • 方案 3:不在源站做任何变更,而是在 CDN 配置回源 URL 改写功能。如果用户请求了原 URL,CDN 在回源请求中会使用新的 URL。本文介绍的是此方案。

请求流程

在您对某个文件配置了回源 URL 改写后,请求的流程如下:

  1. 用户请求文件。
  2. 如果该文件未被缓存,CDN 根据配置,将用户请求 URL 改写成新的 URL,然后向源站发起请求。
  3. CDN 获取文件后,将该文件返回给用户。同时,CDN 缓存该文件。需要留意的是,该文件的缓存键中保存的是用户请求 URL,而非改写后的 URL。关于缓存键的介绍,参见配置缓存键值

操作步骤

  1. 登录视频点播控制台,进入指定空间。
  2. 单击左侧导航栏分发加速 > 域名管理
  3. 自定义源站加速域名页签下,单击操作列的配置按钮。
  4. 回源配置页签下,单击页面下方的修改配置按钮。
  5. 回源 URL 改写区域,设置状态为启用。
  6. 单击新增规则。您最多可以添加 50 条规则。
  7. 按照配置说明进行配置。
  8. 完成配置后,单击保存配置按钮。

配置说明

配置

说明

改写类型

表示改写方式。该配置有以下取值:

  • 路径改写:表示对回源 URL 中的路径进行改写。
  • URL 改写:表示对回源 URL 中的路径和查询字符串进行改写。

路径改写

Image
改写类型路径改写时,配置说明如下:

配置

说明

用户请求路径

表示一个正则表达式,长度不能超过 1,024 个字符,用于匹配用户请求 URL 中路径。对于一个用户请求,如果该正则表达式匹配了路径中的任何部分,这条规则就匹配了该用户请求。参见配置示例

回源路径

表示改写后,回源请求 URL 中的路径。您可以在路径中使用 $1$2$3 等表示您在用户请求路径的正则表达式中定义的组。
该配置的要求如下:

  • 回源路径的长度不超过 1,024 个字符。
  • 回源路径必须以斜杠(/)开头。
  • 回源路径不能包含连续斜杠(//)、百分号(%)、空格、问号(?)。

参见配置示例

URL 改写

Image
改写类型URL 改写时,配置说明如下:

配置

说明

请求 URL

表示一个正则表达式,长度不能超过 1,024 个字符,用于匹配用户请求 URL 中以下这部分的内容:

  • 路径 + 查询字符串

对于一个用户请求,如果该正则表达式匹配了 "路径 + 查询字符串" 中的任何部分,这条规则就匹配了该用户请求。参见配置示例

回源 URL

表示改写后,回源请求 URL 中的路径和查询字符串。您可以在路径中使用 $1$2$3 等表示您在 请求 URL 的正则表达式中定义的组。
该配置的要求如下:

  • 回源 URL 的长度不超过 1,024 个字符。
  • 回源 URL 必须以斜杠(/)开头。
  • 回源 URL 不能包含连续斜杠(//)、百分号(%)、空格、问号(?)。

参见配置示例

规则优先级

在规则列表中,每条规则都有优先级。优先级为 1 的规则具有最高优先级。当收到一个用户请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了一条规则,匹配过程就停止了。您可以拖动规则来调整优先级。
规则中的用户请求路径或者请求 URL 定义了规则的作用范围。如果您创建了多条规则,请留意是否存在某条规则的作用范围包含另一条规则的作用范围的情况,并按您的预期设置规则的优先级。例如,您创建了两条规则。规则A 的作用范围是 /dir/,规则B 的作用范围是 /dir/path/。对于 /dir/path/ 下文件的请求,如果您希望规则B 生效,那么您需要设置规则B 的优先级高于规则A。

配置示例

说明

推荐您使用正则表达式测试工具对正则表达式进行测试。譬如,您可以在搜索引擎中使用关键字 在线正则表达式测试 搜索在线测试工具。

路径改写配置示例

用户请求

配置

配置

配置效果

说明

请求 URL 中的路径

用户请求路径(包含组 (.*)

回源路径

重定向路径

/a/bbb/image.png

^/a{1,2}(.*)g$

用于匹配以 / 开头和以 g 结尾的路径。

/food/$1

/food//bbb/image.pn

正则表达式匹配了请求路径。(.*) 表示的字符串是 /bbb/image.pn
注意
重定向路径中出现 //,因此该路径无效。同时,文件扩展名也不正确。

/food$1g

/food/bbb/image.png

正则表达式匹配了请求路径。(.*) 表示的字符串是 /bbb/image.pn

/aaa/bbb/image.png

/a{1,2}(.*)g

用于匹配请求路径中的特定字符串。

/food/$1g

/food/a/bbb/image.png

  • 正则表达式匹配了请求路径。
  • (.*) 表示的字符串是 a/bbb/image.pn

/food/aaa/pngs/image.png

/food/a/pngs/image.png

  • 正则表达式匹配了请求路径。
  • (.*) 表示的字符串是 a/pngs/image.pn

/aaa/bbb/image.png

aaa(.*)

用于匹配请求路径中的特定字符串。

/food//bbb/image.pngg

  • 正则表达式匹配了请求路径中的 aaa/bbb/image.png
  • (.*) 表示的字符串是 /bbb/image.png

注意
重定向路径中出现 //,因此该路径无效。同时,文件扩展名也不正确。

/aaa/bbb/image.png

aaa/(.*)

用于匹配请求路径中的特定字符串。

/food/$1

/food/bbb/image.png

  • 正则表达式匹配了请求路径中的 aaa/bbb/image.png
  • (.*) 表示的字符串是 bbb/image.png

URL 改写配置示例

说明

推荐您也参考上方的"路径改写配置示例",以了解在使用正则表达式匹配路径时的注意事项。

用户请求

配置

配置

配置效果

说明

请求 URL 中的路径和查询字符串

请求 URL(包含组(.*)

回源 URL

重定向路径

/a/bbb/image.png?param=val1&param2=val2

^/a{1,5}/(.).png?param=(.)

用于匹配符合以下所有条件的请求 URL:

  • /aaa/ 开头的 .png 文件。
  • 第一个查询参数是 param

/food/$1.png?param5=$2&size=6

/food/bbb/image.png?param5=val1&param2=val2&size=6

第一个 (.*) 表示的字符串是 bbb/image。第二个 (.*) 表示的字符串是 val1&param2=val2
注意

  • 请求 URL 中,查询字符串开头的 ? 需要写成 \?
  • 回源 URL 中,查询字符串开头的 ? 还是写成 ?