Reputation: 31
When I activate cloudflare we have an encoding or caching issue whereby special characters appear all over the page.
Header response with cloudflare deactivated:
Alt-Svc: quic=":443"; ma=2592000; v="35,39,43,44" Cache-Control: no-cache, must-revalidate Connection: close Content-Encoding: gzip Content-Length: 8156 Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Aug 2019 14:19:31 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Wed, 14 Aug 2019 14:19:31 GMT Pragma: no-cache Server: LiteSpeed Set-Cookie: pmd_template=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/New/; domain=www.eastlondonbusinessdirectory.co.za Set-Cookie: pmd_template=listimia; expires=Fri, 13-Sep-2019 14:19:31 GMT; Max-Age=2592000; path=/New/; domain=www.eastlondonbusinessdirectory.co.za Vary: Accept-Encoding,User-Agent X-Powered-By: PHP/7.0.33
Header response with cloudflare activated:
Cache-Control: no-cache, must-revalidate CF-RAY: 50639e64dd188074-CPT Connection: keep-alive Content-Encoding: zlib,gzip,deflate Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Aug 2019 14:29:03 GMT Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Wed, 14 Aug 2019 14:29:02 GMT Pragma: no-cache Server: cloudflare Set-Cookie: pmd_template=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/New/; domain=www.eastlondonbusinessdirectory.co.za Set-Cookie: pmd_template=listimia; expires=Fri, 13-Sep-2019 14:29:02 GMT; Max-Age=2592000; path=/New/; domain=www.eastlondonbusinessdirectory.co.za Transfer-Encoding: chunked Vary: User-Agent X-Powered-By: PHP/7.0.33 X-Turbo-Charged-By: LiteSpeed
I believe I might need to make sure my origin server sends a header that tells the cache to serve pages based on the content encoding, but I'm not too sure if this logic is correct because with Cloudflare activated I only see Vary: User Agent? which is in fact ignored by Cloudflare... If the logic is correct then I'm not too sure how to go about fixing this. I have tried to add a page rule from Cloudflare to cache everything and also added the following in .htaccess
</IfModule>
AddDefaultCharset UTF-8
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
but both does not work.
Any help will be much appreciated to get this issue resolved and will accept the answer
Please help. Thank you
Upvotes: 1
Views: 1965
Reputation: 459
Cloudflare currently only respects the Accept-Encoding vary header.
If you want to vary based on other factors, you can either consider:
Upvotes: 1