【问题标题】:Character Encoding Issue when activating Cloudflare激活 Cloudflare 时出现字符编码问题
【发布时间】:2019-12-21 03:25:56
【问题描述】:

当我激活 cloudflare 时,我们遇到了编码或缓存问题,即特殊字符出现在整个页面上。

已停用 cloudflare 的标头响应:

Alt-Svc: quic=":443";马=2592000; v="35,39,43,44"
缓存控制:无缓存,必须重新验证
连接:关闭
内容编码:gzip
内容长度:8156
内容类型:文本/html;字符集=UTF-8
日期:格林威治标准时间 2019 年 8 月 14 日星期三 14:19:31
过期:1997 年 7 月 26 日星期一 05:00:00 GMT
最后修改时间:格林威治标准时间 2019 年 8 月 14 日星期三 14:19:31
Pragma:无缓存
服务器:LiteSpeed
设置 Cookie:pmd_template=deleted;过期=周四,1970 年 1 月 1 日 00:00:01 GMT;最大年龄=0;路径=/新建/;域=www.eastlondonbusinessdirectory.co.za
设置 Cookie:pmd_template=listimia;过期=格林威治标准时间 2019 年 9 月 13 日星期五 14:19:31;最大年龄=2592000;路径=/新建/;域=www.eastlondonbusinessdirectory.co.za
变化:接受编码,用户代理
X-Powered-By: PHP/7.0.33

已激活 cloudflare 的标头响应:

缓存控制:无缓存,必须重新验证
CF-RAY:50639e64dd188074-CPT
连接:保持活动
内容编码:zlib、gzip、deflate
内容类型:文本/html;字符集=UTF-8
日期:格林威治标准时间 2019 年 8 月 14 日星期三 14:29:03
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
过期:1997 年 7 月 26 日星期一 05:00:00 GMT
最后修改时间:格林威治标准时间 2019 年 8 月 14 日星期三 14:29:02
Pragma:无缓存
服务器:cloudflare
设置 Cookie:pmd_template=deleted;过期=周四,1970 年 1 月 1 日 00:00:01 GMT;最大年龄=0;路径=/新建/;域=www.eastlondonbusinessdirectory.co.za
设置 Cookie:pmd_template=listimia;过期=格林威治标准时间 2019 年 9 月 13 日星期五 14:29:02;最大年龄=2592000;路径=/新建/;域=www.eastlondonbusinessdirectory.co.za
传输编码:分块
变化:用户代理
X-Powered-By: PHP/7.0.33
X-Turbo-Charged-By: LiteSpeed

我相信我可能需要确保我的源服务器发送一个标头,告诉缓存根据内容编码服务页面,但我不太确定这个逻辑是否正确,因为激活 Cloudflare 我只看到 Vary : 用户代理? Cloudflare 实际上忽略了这一点...如果逻辑正确,那么我不太确定如何解决此问题。我试图从 Cloudflare 添加一个页面规则来缓存所有内容,并在 .htaccess 中添加了以下内容

 </IfModule>
AddDefaultCharset UTF-8
<IfModule mod_headers.c>
  <FilesMatch ".(js|css|xml|gz|html)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

但两者都不起作用。

非常感谢任何帮助以解决此问题并接受答案

请帮忙。谢谢

【问题讨论】:

    标签: caching character-encoding cloudflare


    【解决方案1】:

    Cloudflare 目前只有 respects the Accept-Encoding vary header。

    如果您想根据其他因素有所不同,您可以考虑:

    • Custom caching 为企业计划设置
    • “绕过缓存”完全使用页面规则
    • 提供来自不同 URL 的不同内容类型以继续利用缓存
    • Workaround 使用 Cloudflare Workers

    【讨论】:

    • 你好 Faiz thnak 你的时间!因此,如果 cloudflare 尊重 Accept-Encoding 变化标头,那么这是否应该通过以下内容解决 .htaccess 中的问题?还是我丢了?? Header unset Vary Header set Vary “Accept-Encoding”
    • 您是否有遇到问题的示例 URI?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    相关资源
    最近更新 更多