CloudFlare Page rules for XenForo 2.2.0


New member
Hey all,

I've upgraded to XF 2.2 today and - while I'm not sure if its the direct cause - my website stopped working when I use CloudFlare's Proxying (Orange Cloud). No proxying works just fine, though. So first, is this also happening to anybody else? And second, if not, could anybody share their site rules / configs with me?



Well-known member
Can't imagine a page rule affecting it. Are you getting any specific error or anything in your server logs? The only Cloudflare Page Rule that I use for XenForo 2.2 sites is this:


Just forcing client-side and edge caching of CSS files with a .php extension.

This site ( uses Cloudflare (with Cloudflare proxying/orange cloud) and seems to be fine as well.


Well-known member
FYI, I don't have this rule and I see css.php as a cache path.
Not sure what you mean by "cache path", but if you are referring to the CSS on, it's not being cached at Cloudflare's edge.

server:~ # curl -I ''
HTTP/2 200

date: Tue, 12 Jan 2021 16:50:02 GMT
content-type: text/css; charset=utf-8
content-length: 54433
set-cookie: __cfduid=d1d2419aa24b81ce71b41536cb98df1401610470382; expires=Thu, 11-Feb-21 16:50:02 GMT; path=/;; HttpOnly; SameSite=Lax; Secure
x-frame-options: SAMEORIGIN
expires: Wed, 12 Jan 2022 16:50:02 GMT
last-modified: Fri, 08 Jan 2021 23:27:46 GMT
cache-control: public, max-age=31536000
vary: Accept-Encoding
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-xss-protection: 1; mode=block
cf-cache-status: DYNAMIC
cf-request-id: 07991cf25700005f739b81a000000001
expect-ct: max-age=604800, report-uri=""
report-to: {"endpoints":[{"url":"https:\/\/\/report?s=L%2FXeIUEpTtoDf3o7190wjOHjt9W8ubemr4Q%2F9woG8R2gZcmuzmMCzb47HY%2BaUritUJXSrixZ%2F3I%2FbWAgeW8AI5n%2F3JqvPfmuV9zgRNj6uVE3qQvOiAY%3D"}],"group":"cf-nel","max_age":604800}
nel: {"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 610864308d145f73-LAS[/FONT]

Specifically, the cf-cache-status: DYNAMIC part...

server:~ # curl -I
HTTP/2 200

date: Tue, 12 Jan 2021 16:58:37 GMT
content-type: image/png
content-length: 4233
set-cookie: __cfduid=da42c20668ee3c1feab336104e5af14ec1610470717; expires=Thu, 11-Feb-21 16:58:37 GMT; path=/;; HttpOnly; SameSite=Lax; Secure
cache-control: public, max-age=691200
cf-bgj: imgq:85,h2pri
cf-polished: origSize=5390
expires: Thu, 14 Jan 2021 07:58:47 GMT
last-modified: Sat, 23 Mar 2019 15:50:14 GMT
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
x-xss-protection: 1; mode=block
cf-cache-status: HIT
age: 464390
accept-ranges: bytes
cf-request-id: 0799220fd400005f85f3229000000001
expect-ct: max-age=604800, report-uri=""
report-to: {"endpoints":[{"url":"https:\/\/\/report?s=kpiWIqXuVVOB8SJ4v3jNOWXfYrV2v0HgXvKXfrM7jjU5r9Zy3dRTNOSgTOW6NwRvTlY8z15CjrgTqsjfPoKodkvbVW0RdiBj%2BDgLHOBulVJrHH4eTOg%3D"}],"group":"cf-nel","max_age":604800}
nel: {"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 61086c5fbcc85f85-LAS

Compare that to a request for your main logo (.png file): cf-cache-status: HIT

There are some details about what files extensions Cloudflare will cache by default and what the cf-cache-status header responses mean:

DYNAMICCloudflare does not consider the asset eligible to cache and your Cloudflare settings do not explicitly instruct Cloudflare to cache the asset. Instead, the asset was requested from the origin web server. Use Page Rules to implement custom caching options.


Well-known member
@digitalpoint do you just recommend running all three rules like in this post:

Or just using the .CSS one only?


Well-known member
Of the three there, the two for styles and js and be effectively done with proper web server configuration. The only one that can't be done with web server configuration is the one for the css.php (since Cloudflare looks at the file extension, NOT mime type).