Bulk Redirects 涉及以下元素:
-
URL 重定向:包含源 URL、目标 URL、状态码和重定向参数的条目。URL 重定向是 Bulk Redirect 列表中的各个项目。
-
Bulk Redirect 列表:包含一个或多个 URL 重定向的命名集合。要激活 Bulk Redirect 列表中的所有 URL 重定向,请在 Bulk Redirect 规则中引用该列表。不同的 Bulk Redirect 规则可以引用同一 Bulk Redirect 列表。
-
Bulk Redirect 规则:由 Ruleset Engine 驱动的规则,Ruleset Engine 是 Cloudflare 用于评估和执行规则的系统。Bulk Redirect 规则关联一个 Bulk Redirect 列表。
Bulk Redirect 规则启用 Bulk Redirect 列表,列表中包含一个或多个 URL 重定向。
以下示例定义了一个名为 list_b 的 Bulk Redirect 列表,其中包含两个 URL 重定向:
list_b Bulk Redirect 列表
| 源 URL | 目标 URL | 状态码 |
|---|---|---|
example.com/about |
https://example.com/news |
301(默认) |
example.com/new_feature |
https://example.com/soon |
302 |
以下名为 Rule 2 的 Bulk Redirect 规则启用 list_b Bulk Redirect 列表中的 URL 重定向:
Rule 2 Bulk Redirect 规则
- 规则名称:
Rule 2 - 关联列表:
list_b
URL 重定向允许你配置源 URL、目标 URL、状态码和重定向参数。
指定源 URL 时,请使用可用的重定向参数,而不是不受支持的通配符。例如,Include subdomains(包含子域名) 参数允许你配置单个 URL 重定向,使其同时适用于子域名(例如 https://b.example.com 和 https://a.b.example.com)和 apex 域名(无子域名的根域名——例如 https://example.com)。其他参数允许你指定如何处理源 URL 的路径和查询字符串。更多信息请参阅 How Bulk Redirects work。
URL 重定向是 Bulk Redirect 列表的列表项。
Bulk Redirect 列表允许你为不同目的创建不同的 URL 重定向组。你可以在一个或多个 Bulk Redirect 规则中使用 Bulk Redirect 列表。
Bulk Redirect 列表本身不会执行任何重定向——你必须在 Bulk Redirect 规则中引用该列表才能启用列表中的重定向。
Bulk Redirect 列表不能包含多个具有完全相同源 URL 的 URL 重定向。
有关向 Bulk Redirect 列表导入项目的 CSV 格式详情,请参阅 CSV file format for Bulk Redirects。
Bulk Redirect 规则是由 Ruleset Engine 驱动的规则,通过 Bulk Redirect 列表启用一个或多个 URL 重定向。
配置 Bulk Redirect 规则时,你将 Bulk Redirect 列表与之关联,从而启用该列表中的所有 URL 重定向。你可以为每个列表创建一条规则,也可以让多个 Bulk Redirect 规则引用同一 Bulk Redirect 列表。
与所有由 Ruleset Engine 驱动的规则一样,Bulk Redirect 规则具有操作(规则触发时发生的情况)和表达式(必须满足的条件)。除这两项属性外,它还具有名称、可选描述、关联的 Bulk Redirect 列表以及键。
规则表达式(或过滤表达式)指定规则运行必须满足的条件。默认情况下,指定列表中的所有 URL 重定向都会应用。
Bulk Redirect 规则的默认表达式如下:
http.request.full_uri in $<LIST_NAME>此表达式表示:在进行一些基本的 规范化 后(若已启用 URL normalization),请求 URL 应与列表 <LIST_NAME> 中某个 URL 重定向的源 URL 匹配,才会应用该重定向。
你可以使用与默认不同的表达式,以提高 URL 重定向匹配的特异性。例如,若将 Bulk Redirect 规则的表达式设为以下表达式,则仅匹配来自英国的请求:
ip.src.country == "GB" and http.request.full_uri in $<LIST_NAME>有关可用字段的更多信息,请参阅 Available fields and functions。
规则键指定 Cloudflare 用于在关联的 Bulk Redirect 列表中查找匹配 URL 重定向的请求字段。
当规则表达式匹配时,Cloudflare 会将规则键的值与关联 Bulk Redirect 列表中每个 URL 重定向的源 URL 进行比较,以搜索匹配项。
键应为 http.request.full_uri 或 raw.http.request.full_uri。使用 raw.http.request.full_uri 可将 Web 服务器在规范化之前收到的 URI 与 Bulk Redirect 列表中的源 URL 进行比较。
键中使用的 URI 字段必须与表达式中使用的 URI 字段相同。否则,你可能出现规则表达式匹配,但列表中没有任何源 URL 匹配的情况。例如,若将键设为 http.request.full_uri,规则表达式中使用的字段也必须是 http.request.full_uri。反之,若将键设为 raw.http.request.full_uri,表达式中使用的字段必须是 raw.http.request.full_uri。