You need to enable JavaScript to run this app.
文档中心
全站加速

全站加速

复制全文
下载 pdf
缓存配置
URL改写及重定向
复制全文
下载 pdf
URL改写及重定向

操作背景

全站加速提供 URL 改写与重定向功能。您可以指定规则,将具有特定特征的用户请求路由到特定的 URL。例如,该功能可以用于以下场景:

  • 源站内容的存储路径临时发生改变,将对原先 URL 的访问请求路由到新的 URL 上。

  • 将来自特定客户端设备的请求(基于 User-Agent 请求头)路由到特定的资源,实现定制化的体验。

  • 把一部分特定用户请求(基于 Cookie 字段)引流到特定资源,实现 A/B 测试。

  • 对用户呈现更利于 SEO 的 URL,例如,用户使用 https://example.com/products/shoes/123 访问后端服务的 https://example.com/get_product.php?id=123 链接。

将请求路由到 URL 的方式有两种:

  • 重定向:通过重定向状态码要求客户端向新的目标 URL 重新发起请求。

  • 改写:直接将用户的原始 URL 替换为新的 URL。

操作步骤

  1. 登录全站加速控制台

  2. 在左侧导航栏点击 域名管理,进入 域名管理 页面后,点击待配置的加速域名名称。

  3. 在域名管理页面,点击 缓存配置 标签页,再点击 编辑

  4. 缓存配置 标签页,在 URL 改写/重定向 部分,点击 新增规则

  5. 每条规则包含 条件 部分和 动作 部分。

    1. 条件:匹配请求特征的条件。可以指定多条以“且”或“或”关系连接的子条件。您可以点击 添加条件 添加条件,点击连接规则的文字 可以切换子条件连接关系。

    2. 动作:指定满足条件的请求将会被执行的动作。您可以指定 URL 重定向URL 改写

    更多详情,请参见下文 规则参数说明

  6. 点击 提交 完成配置。

规则参数说明

规则条件设定

匹配字段匹配方式说明示例

URL Path

  • 属于

  • 不属于

  • 正则匹配

  • 正则不匹配

基于请求 URL 的 Path 部分做匹配。
输入规则:

  • 支持通配符?*, 例如:/*/my_path/*

  • 多个值以回车分隔。

  • 可以设置匹配是否忽略大小写。

属于/user/* /vendor/*

请求头

  • 存在

  • 不存在

  • 属于

  • 不属于

  • 大于

  • 大于等于

  • 小于

  • 小于等于

Header名 中指定需要匹配的请求头的名称,基于该请求头的有无以及请求头的值进行匹配。
输入规则:

  • 多个值以回车分隔。

  • 支持通配符?*

  • 可以设置匹配是否忽略大小写。

示例 1:

  • Header名User-Agent

  • 属于*Android*

示例 2:

  • Header名Accept-Language

  • 属于zh-CN

协议类型

  • 等于

  • 不等于

基于请求的协议类型匹配:

  • HTTP

  • HTTPS

等于HTTPS

请求URL中的查询字符串

  • 存在

  • 不存在

  • 属于

  • 不属于

  • 大于

  • 大于等于

  • 小于

  • 小于等于

基于请求的查询字符串(Query String)匹配。
输入规则:

  • 支持通配符?*, 例如:*user*

  • 多个值以回车分隔。

  • 可以设置匹配是否忽略大小写。

存在id

文件后缀

  • 属于

  • 不属于

基于被请求的文件的后缀名(例如 jpg、png、css)匹配。
输入规则:

  • 支持通配符?*, 例如:*user*

  • 多个值以回车分隔。

  • 可以设置匹配是否忽略大小写。

属于jpg png

文件名称

  • 属于

  • 不属于

基于文件名称匹配。
输入规则:

  • 支持通配符?*, 例如:*user*

  • 多个值以回车分隔。

  • 可以设置匹配是否忽略大小写。

属于backup_*

客户端 IP

  • 属于

  • 不属于

基于客户端 IP 匹配。支持具体 IP 地址和 CIDR 网段匹配。
输入规则:

  • 支持 IPv4 及 IPv6 格式的 IP 地址或 CIDR 网段。例如:2001:db8:3004:2:3:0:0:3f7 198.51.100.123/31

  • 多个值以回车分隔。

属于192.168.1.0/24

客户端IP地理位置

  • 属于

  • 不属于

基于客户端 IP 地理位置匹配。可选以下两种其一(不能同时选):

  • 国内省份行政区域

  • 全球国家/地区

不属于全球-美国

客户端网络运营商

  • 属于

  • 不属于

可以通过下拉列表来选择,可以输入字符来过滤选项,支持输入ID或名称来模糊匹配查询,支持输入多个值。

属于移动 联通 电信

Cookie

  • 存在

  • 不存在

  • 属于

  • 不属于

  • 大于

  • 大于等于

  • 小于

  • 小于等于

基于指定 Cookie 字段的值匹配。在 Cookie名 中指定 Cookie 字段的名称,并设定匹配值。

  • 支持通配符?*, 例如:*test*

  • 多个值以回车分隔。

示例 1:

  • Cookie名session_id

  • 存在

示例 2:

  • Cookie名user_level

  • 大于等于5

客户端 IP版本

  • 等于

  • 不等于

基于客户端请求的 IP 协议版本匹配:

  • ipv4

  • ipv6

等于ipv6

规则动作设定

URL 重定向的选项如下:

配置分类配置说明示例
基础配置状态码可以指定用于重定向的 HTTP 状态码:301、302、303、307、308。有关不同重定向状态对客户端行为的差异,请参见 HTTP 响应状态码301

协议

指定新的 URL 的协议部分,有以下方式:

  • 指定固定的 HTTP 或 HTTPS 协议。

  • 设置成 跟随 与客户端请求的协议保持一致。

跟随

Host 配置

Host 选择模式

可以定制 Host 请求头的值:

  • 跟随:保持请求中的 Host 请求头。

  • 自定义:将 Host 请求头改写为指定值。此时,在 自定义HOST 中设定新的 Host 请求头的值。

跟随

Path 配置

路径选择方式

可以用来定制新 URL 的 Path 部分,有以下方式:

  • 跟随:保持原有 Path 不变(仅改写 URL 参数部分)。

  • 自定义:指定固定的新 URL 路径。

  • 正则匹配:利用 PCRE 正则表达式对原路径做正则替换。此时,在 取值 中输入目标路径,支持用 $num 格式的变量引用正则捕获组,如 /example/$1.html,最多至 $9。在 正则表达式 中输入用于匹配替换的正则表达式。

示例1:

  • 路径选择方式:自定义

  • 变量类型:常量

  • 取值:home-v2/index.html

示例2:

  • 路径选择方式:正则表达式

  • 变量类型:常量

  • 取值/new/$1.html

  • 正则表达式^/old/article-(\d+)\.html$

此时 /old/article-2024.html会被替换成 /new/2024.html

参数配置

参数处理方式

可以用来定制新 URL 的 URL 参数部分,有以下方式:

  • 忽略全部:不保留原 URL 中的任何参数,新 URL 无参数部分。

  • 保留全部:保留原 URL 中的所有参数。

  • 保留部分:仅保留原 URL 中的部分指定参数,其余参数丢弃。在 取值 中指定需要保留参数的名称,每个参数后按回车键输入。

  • 去除部分:移除原 URL 中指定的部分参数,其余参数保留。在 取值 中指定需要移除参数的名称,以回车键分隔。

  • 设置:完全自定义新 URL 的参数部分,覆盖原参数。每个参数以 <参数名>=<参数值> 格式输入,以回车键分隔。

  • 正则替换全部参数:使用正则表达式匹配并替换原 URL 中的查询字符串(Query String)。此时,在 取值 中输入新的用来替换的内容,支持用 $num 格式的变量引用正则捕获组,如 user$1,最多至 $9。在 正则表达式 中输入用于匹配的正则表达式。支持 PCRE 表达式。

示例1:

  • 参数处理方式:设置

  • 变量类型:常量

  • 取值:test=yes

示例2:

  • 参数处理方式:正则替换全部参数

  • 变量类型:常量

  • 取值id=$1&event=$2

  • 正则表达式user=(\d+)&action=([^&]*)

此时 https://example.com/user?user=456&action=notify 中的 user=456&action=notify 会被替换为 id=456&event=notify

URL 改写的改写方式如下:

注意

路径改写规则中不能带 URL 查询参数。URL 改写无法将查询参数作为 URL 一部分一起改写。

URL 改写方式说明示例
增加路径前缀在原 URL 路径前添加指定内容。/beta
移除路径前缀删除原 URL 路径开头的指定前缀(例:原路径/api/user→移除/api后变为/user)/beta

替换完整路径

将原 URL 的整个路径直接替换为新内容(例:原路径/old/path→替换为/new/full/path)

  • 变量类型:常量

  • 目标路径:/newhome/index.html

替换完整路径-正则

通过正则表达式匹配原路径,再替换为指定内容。利用 PCRE 正则表达式对原路径做正则替换。此时,在 取值 中输入目标路径,支持用 $num 格式的变量引用正则捕获组,如 /example/$1.html,最多至 $9。在 正则表达式 中输入用于匹配替换的正则表达式,支持 PCRE 表达式。

  • 变量类型:常量

  • 目标路径/resources/android/$1

  • 正则表达式^/resources/(.*)$

此时/resources/会被替换为/resources/android/

最近更新时间:2026.06.11 21:20:01
这个页面对您有帮助吗?
有用
有用
无用
无用