cloudflare免费版仅支持3个page rule,想要适当的缓存wordpress网站,需要费点心思。
不多说,直接上规则(以本站域名为例):
第1条
|
www.yaoruisheng.com/*.php* Cache Level: Bypass
|
第2条
|
www.yaoruisheng.com/*.* Cache Level: Cache Everything, Edge Cache TTL: a month
|
第3条
|
www.yaoruisheng.com/* Cache Level: Cache Everything, Edge Cache TTL: 2 hours
|
解释各条规则如下:
第1条是 不缓存php的文件,动态网页当然不能缓存了。
第2条是缓存网站下 所有url 带点号的文件,一般大家搞伪静态的时候,也多是将文件名后缀弄成.html吧,这样子文章也会被缓存。这类文件缓存期,我都是设置为长期:一个月。
第3条是所有文件都默认缓存,节点缓存时间是2小时。
cloudflare处理这些规则是按从上到下匹配处理的,如果url同时匹配多条规则,则只应用第一个匹配上的规则。
至于,被缓存的文章如何能刷新?除了等一个月、上cloudflare后台刷新外,还有办法么?办法是有的,我打算写个插件,wordpress后台结合cloudflare api自动刷新缓存。
但是尴尬了,遇到这么一个问题,wordpress登录状态,访问站点的时候,会多出顶部的登录条,html源码里也会出现一些只有登录后才有的js和css引用。。。很尴尬,解决办法只有一个,那就是修改主题。