回源 URL 重写

最近更新时间:2025-06-26 11:21:23

我的收藏

功能简介

客户端向 EdgeOne 节点发起请求,请求未命中节点缓存需要回源时,支持按照回源 URL 重写设定的规则,将请求重定向至源站的目标 URL,该功能不影响节点缓存。

适用场景

客户端访问的 URL 已经对外发布,不宜更改,而业务源站由于某些原因变更了源站上的 URL 路径;或者为了搜索引擎优化(SEO),客户端访问的 URL 和源站 URL 的路径并不一致。在这些场景下,通过设置回源 URL 重写规则,节点可以在不改变客户端访问 URL 的前提下,将回源的 URL 重写为源站上资源对应的实际 URL。

操作步骤

场景:客户端请求 URL 和对应的源站资源路径不一致

例如:客户端请求站点域名 www.example.com 的 URL 路径为 https://www.example.com/online/index.html,而此时文件目录已变更,回源时需要去掉目录前缀 /online 才可以获取到对应的文件资源,可参考以下步骤:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速,进入站点全局配置页面,单击规则引擎 Tab 页。
3. 在规则引擎页面,单击创建规则,选择新增空白规则
4. 在规则编辑页面,匹配类型选择为 HOST 等于 www.example.com
5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为 回源 URL 重写
6. 选择类型为移除路径前缀,路径前缀为 /online,配置如下:

7. 单击保存并发布,即可完成该规则配置。

相关参考

回源 URL 重写各配置项说明如下:
类型
说明
增加路径前缀
增加指定路径前缀至请求 URL Path。其中,路径前缀指的是域名后的第一个目录。
例如请求 URL为 https://www.example.com/path0/index.html,增加的路径前缀为 /prefix,则会在域名后增加目录 /prefix, 即最终重写后的 URL 为 https://www.example.com/prefix/path0/index.html
移除路径前缀
移除请求 URL 的指定路径前缀。其中,路径前缀指的是域名后的第一个目录,仅支持精确匹配。
例如请求 URL为 https://www.example.com/path0/path1/index.html,指定移除的路径前缀为 /path0,则重写后的 URL 为 https://www.example.com/path1/index.html
例如请求 URL为 https://www.example.com/path000/path1/index.html,指定移除的路径前缀为 /path0,则无法匹配到,即重写规则将不生效。
替换完整路径
替换完整的请求 URL Path,例如请求 URL是 https://www.example.com/path0/index.html,替换完整路径为/new/page.html,则重写后的 URL 是 https://www.example.com/new/page.html
正则替换
支持通过 Google RE2 正则表达式匹配和替换路径。同时支持以 $num 引用正则捕获组,num 代表组编号,如 $1。引用组编号不得大于正则匹配的分组数,且需要确保替换后的路径以 / 开头。
例如:希望将路径 /old-parh/1234 替换为 /new-path/1234,可以配置正则表达式为^/old-path/(\\d+)$,替换路径为 /new-path/$1,其中 $1 表示引用正则表达式中的第一个捕获分组,即路径中数字部分。