您可以按 URL 前缀或 URL 中的路径分隔符立即清除缓存。对于 URL https://www.example.com/foo/bar/baz/qux.jpg,有效的清除请求包括:
www.example.comwww.example.com/foowww.example.com/foo/barwww.example.com/foo/bar/bazwww.example.com/foo/bar/baz/qux.jpg
按前缀清除在不同场景中有用,例如:
- 清除目录内的所有内容。
- 增加对路径中缓存对象的控制。
- 简化发送的清除调用数量。
-
在 Cloudflare 仪表板中,前往 Configuration(配置) 页面。
Go to Configuration ↗ -
在 Purge Cache(清除缓存) 下,选择 Custom Purge(自定义清除)。Custom Purge(自定义清除) 窗口将出现。
-
在 Purge by(按以下方式清除) 下,选择 Prefix(前缀)。
-
遵循语法说明。
- 每行一个前缀。
- 每次 API 调用最多 30 个前缀。
-
使用示例中显示的格式在文本字段中输入适当的值。
-
选择 Purge(清除)。
有关速率限制的信息,请参阅可用性和限制部分。
按前缀清除会删除该资源,导致后续请求的 CF-Cache-Status 标头显示 MISS。
如果使用了分层缓存,按前缀清除可能返回 EXPIRED,这是因为下层尝试向上层重新验证以减轻上层负载。根据上层是否拥有该资源,以及最终用户访问的是下层还是上层,将分别返回 EXPIRED 或 MISS。
按前缀清除有以下几项限制:
- 前缀的路径分隔符最多 31 个
(example.com/a/b/c/d/e/f/g/h/i/j/k/l/m…)。 - 每次清除请求最多 30 个前缀。
- 清除速率限制适用。
- URI 查询字符串和片段无法按前缀清除:
www.example.com/foo?a=b(查询字符串)www.example.com/foo#bar(片段)
使用按前缀清除规范化时,当针对规范化 URL 路径的前缀清除请求到达 Cloudflare 时,清除服务会遵循 URL 规范化并清除规范化后的 URL。
以以下网站为例:https://cloudflare.com/انشاء-موقع-الكتروني/img_1.jpg。下表展示了在规范化开启/关闭的情况下,Cloudflare 缓存如何识别这些路径。
如上所示,URL 规范化开启时,访问两个 URL(https://cloudflare.com/%D8%A7%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A/img_1.jpg 和 https://cloudflare.com/انشاء-موقع-الكتروني/img_1.jpg)的访客将获得相同的缓存资源。清除 https://cloudflare.com/%D8%A7%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A/img_1.jpg 将立即为两类访客清除该资源。