本文档介绍如何在火山引擎内容分发网络(CDN)中配置 "回源 URL 改写"。该功能允许对 CDN 回源请求 URL 中的路径和查询参数进行改写。
在源站上,假设某些文件的 URL 或者 URL 的访问逻辑发生了变更。此时,有以下几种解决方案:
本文档介绍的是第三种解决方案。
在您对某个文件配置了 "回源 URL 改写" 后,请求的流程如下:
配置 | 说明 |
|---|---|
改写类型 | 表示改写方式。该配置有以下取值:
|

当 改写类型 是 路径改写 时,"回源 URL 改写" 的配置说明如下:
配置 | 说明 |
|---|---|
用户请求路径 | 表示一个正则表达式,长度不能超过 1,024 个字符,用于匹配用户请求 URL 中路径。 |
回源路径 | 表示改写后,回源请求 URL 中的路径,长度不能超过 1,024 个字符。您可以在路径中使用 |
参见 路径改写配置示例

当 改写类型 是 URL 改写 时,"回源 URL 改写" 的配置说明如下:
配置 | 说明 |
|---|---|
请求 URL | 表示一个正则表达式,长度不能超过 1,024 个字符,用于匹配用户请求 URL 中的路径和查询字符串。 |
回源 URL | 表示改写后的路径和查询字符串,长度不能超过 1,024 个字符。您可以使用 |
参见 URL 改写配置示例。
在规则列表中,每条规则都有优先级。优先级为 1 的规则具有最高优先级。当收到一个用户请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了一条规则,匹配过程就停止了。您可以拖动规则来调整优先级。
说明
推荐您使用正则表达式测试工具对正则表达式进行测试。譬如,您可以在搜索引擎中使用关键字 在线正则表达式测试 搜索在线测试工具。
用户请求 | 配置 | 配置 | 配置效果 | 说明 |
|---|---|---|---|---|
请求 URL 中的路径 | 用户请求路径(包含组 | 回源路径 | 重定向路径 | |
/a/bbb/image.png | ^/a{1,2}(.*)g$ 用于匹配以 | /food/$1 | /food//bbb/image.pn | 正则表达式匹配了请求路径。 注意 重定向路径中出现 |
/food$1g | /food/bbb/image.png | 正则表达式匹配了请求路径。 | ||
/aaa/bbb/image.png | /a{1,2}(.*)g 用于匹配请求路径中的特定字符串。 | /food/$1g | /food/a/bbb/image.png |
|
/food/aaa/pngs/image.png | /food/a/pngs/image.png |
| ||
/aaa/bbb/image.png | aaa(.*) 用于匹配请求路径中的特定字符串。 | /food//bbb/image.pngg |
注意 重定向路径中出现 | |
/aaa/bbb/image.png | aaa/(.*) 用于匹配请求路径中的特定字符串。 | /food/$1 | /food/bbb/image.png |
|
说明
推荐您也参考上方的 "路径改写配置示例",以了解在使用正则表达式匹配路径时的注意事项。
用户请求 | 配置 | 配置 | 配置效果 | 说明 |
|---|---|---|---|---|
请求 URL 中的路径和查询字符串 | 请求 URL(包含组 | 回源 URL | 重定向路径 | |
/a/bbb/image.png?param=val1¶m2=val2 | ^/a{1,5}/(.).png?param=(.) 用于匹配符合以下所有条件的请求 URL:
| /food/$1.png?param5=$2&size=6 | /food/bbb/image.png?param5=val1¶m2=val2&size=6 | 第一个 |