Cloudflare Page Rule Not Working

I’m trying to make Cloudflare cache my RSS feed. My feed is located at Benjamin Mayo.

I understand that the default caching system works based off file extension, and ATOM is excluded. So I set up the following page rule:

This should apply the Edge Cache to the URL. However, it’s not working. Every time I do a request to that URL, I can see the request hit my underlying server and thus not being covered by the Cloudflare cache CDN. Similarly, the response headers include cf-cache-status: DYNAMIC which I understand means that the cache is not being used.

Am I doing something wrong? Please advise.

Seems to me like the .atom file extension is not cached by “standard” (default) as written at the below article:

Have you tried setting the value for Cache Level: Cache Everything?

Furthermore, Purge the cache by the exact URL and retry accessing it (or by curl -I <url_to_the_atom_file> to see the HTTP headers) if anything different, or the expect cf-cache-status: HIT (on the 2nd time when you visit it).

Why did you choose the Ignore Query String? Unfortunately, there’s no current way to configure cache to ignore query string and Cache Everything in the same Page Rule. It would need to be set to Cache Everything.

I’d be pleasantly surprised if you could set a global cache setting for Ignore Query String and then layer a Page Rule to Cache Everything on top of that, but I doubt it’ll work. I suspect it’ll just replace one setting with the other.

1 Like

Ah I thought adding a cache setting implied overriding the default file extensions. I didn’t realise Cache Everything was the only setting that did that. Thanks for the help.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.