Cache rules 对请求的影响与 Page Rules 不同。以下是应用方式:
-
Cache Rules 是可堆叠的。这意味着多个匹配规则可以组合并应用于同一请求。例如,如果多个 cache rules 匹配同一 URL,则这些 cache rules 中设置的功能将全部按顺序应用。如果多个匹配规则为同一设置设置值,最后匹配规则中的值获胜。有关多个规则匹配的类似场景示例,请参阅 Origin Rules FAQ。
-
对于冲突的设置(例如,bypass cache 与 eligible for cache),最后匹配的规则获胜。例如,如果 cache rule #1 设置为缓存
example.com/images上的所有内容,cache rule #2 设置为对example.combypass cache,则所有匹配example.com的 URL 的缓存将被 bypass,因为 rule #2 是最后匹配的规则。 -
如果您在相同路径上实现了用于缓存的 Page Rules,Cache Rules 按设计优先。
-
Cache rules 可以比 cache configuration 选项卡中的全站设置更具体,因此它们优先于它们匹配请求的全站设置。例如,如果整个网站
example.com的 browser cache TTL 设置为 4 小时,且有一条 cache rule 匹配路径/feed的请求并将 browser cache TTL 设置为 10 秒,则 cache rule 将覆盖对https://example.com/feed请求的全站设置。
Rules 功能的执行顺序如下:
- Single Redirects(单一重定向)
- URL Rewrite Rules(URL 重写规则)
- Configuration Rules(配置规则)
- Origin Rules(源站规则)
- Bulk Redirects(批量重定向)
- Managed Transforms(托管转换)
- Request Header Transform Rules(请求标头转换规则)
- Cache Rules(缓存规则)
- Snippets(代码片段)
- Cloud Connector(Cloud Connector)
上述不同类型的规则优先于 Page Rules(页面规则)。这意味着当 Page Rules 与上述 Rules 产品同时匹配时,Page Rules 会被覆盖。
一般来说,对于非终止动作,同一阶段中规则所做的最后一次更改将生效(后续规则可以覆盖之前规则所做的更改)。但对于终止动作(Block、Redirect 或任一质询动作),规则评估将停止,并立即执行该动作。
例如,如果多个带有 Redirect 动作的规则匹配,Cloudflare 将始终使用第一条匹配规则的 URL 重定向。此外,如果您使用不同的 Cloudflare 产品(单次重定向和批量重定向)配置 URL 重定向,在规则匹配的情况下,最先执行的产品将生效(此处为单次重定向)。
有关产品执行顺序,请参阅阶段列表。