如何缓存静态 HTML?

  1. 登录到您的 Cloudflare 帐户
  2. 从左上角的下拉菜单中,选择您的域名。
  3. 单击顶部菜单中的Page Rules应用。
  4. 第一步是创建URL模式,然后将规则应用于该URL模式。您需要找到或创建一种通过 URL 区分静态内容和动态内容的方法。可以为静态内容创建目录,或者向静态页面添加唯一文件扩展名,或者添加查询参数,以便将内容标记为静态。以下是您可以为每个选项创建的三个URL模式示例:
    *example.com/static/*
    [/static/ 静态 HTML 页的子目录]
    
    *example.com/*.shtml
    [.shtml 文件扩展名,用于表示 HTML 为静态]
    
    *example.com/*?*static=true*
    [添加 static=true 查询参数]

    您想要创建一个模式仅用于描述静态的页面。
  5. 单击 Custom caching 下拉菜单中的Cache everything
  6. 单击Add rule。 

尽管配置了Cache everything 规则,但如果您注意到 HTML 未被缓存,您需要使用“Edge Cache TTL”设置来覆盖源站缓存指令。请注意,即使源站发送正确的缓存 TTL 头,您仍需要在 Cloudflare 中设置Edge Cache TTL,因为默认情况下我们不缓存 HTML。

如果 Cache-Control 标头设置为“private”、“no-store”、“no-cache”或“max-age=0”,或者如果响应中存在 Cookie,则 Cloudflare 将不会缓存资源,除非 Page Rule 设置为“Cache everything”并且设置“Edge Cache TTL”。

当结合使用 Bypass Cache on Cookie( 商业版和企业版套餐功能)与“Cache Everything”时,在某些 Cookie 已设置的情况下可绕过缓存。此外,通过“Edge Cache TTL”,您能够指定 Cloudflare 缓存给定资源的最大时长。

Screen_Shot_2017-03-09_at_16.54.36.png

在 Bypass Cache on Cookie 选项中,可以将 .*(点-星号)运算符用作通配符,将 |(管道)运算符用作 OR 语句。 

诸如“Cache on Cookie”、“Cache By Device Type”和“Custom Cache Keys”等其他 Page Rule 选项可提供给我们的企业版客户。

默认情况下,Cloudflare 的设置会覆盖缓存内容的 Cache-Control 标头。但是,您可以在缓存的内容上将 Cloudflare 设置为“Respect Existing Header”。使用此设置时,Cloudflare 不会覆盖源站的 Cache-Control 标头。

所有套餐的用户均可以在控制面板的“Caching”页面中向下滚动到“Browser Cache Expiration”来访问此功能。

 

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持