Skip to content

Customize cache

Some possible combinations of origin web server settings and Cloudflare Cache Rules include:

Create a directory for static content at your origin web server

For example, create a /static/ subdirectory at your origin web server and a Cache Everything Cache Rule matching the following expression:

  • Using the Expression Builder: Hostname contains "example.com" AND URI Path starts with "/static"
  • Using the Expression Editor: (http.host contains "example.com" and starts_with(http.request.uri.path, "/static"))

Append a unique file extension to static pages

For example, create a .shtml file extension for resources at your origin web server and a Cache Everything Cache Rule matching the following expression:

  • Using the Expression Builder: Hostname contains "example.com" AND URI Path ends with ".shtml"
  • Using the Expression Editor: (http.host contains "example.com" and ends_with(http.request.uri.path, ".shtml"))

Add a query string to a resource’s URL to mark the content as static

For example, add a static=true query string for resources at your origin web server and a Cache Everything Cache Rule matching the following expression:

  • Using the Expression Builder: Hostname contains "example.com" AND URI Query String contains "static=true"
  • Using the Expression Editor: (http.host contains "example.com" and http.request.uri.query contains "static=true")

Resources that match a Cache Everything Cache Rule are still not cached if the origin web server sends a Cache-Control header of max-age=0, private, no-cache, or an Expires header with an already expired date. Include the Edge Cache TTL setting within the Cache Everything Cache Rule to additionally override the Cache-Control headers from the origin web server.