开启云加速或网站卫士的 html 缓存后,文章和页面将缓存到 CDN 节点,导致用户评论之后无法及时显示,必须等到 CDN 节点刷新缓存才能展示已有评论。
那么就会出现这样一个问题:当管理员回复了用户评论时,WordPress 会给向用户邮箱发一封评论被回复的通知邮件。可是,用户点击邮件的评论链接之后,却无法看到管理员的回复,也就无法二次回复管理员了。
本来,我想可以用 ajax 动态加载评论列表,避开缓存的。可惜,空有想法却不会实现!希望有懂 PHP 和 JS 的朋友指点一二,实现这个还没人分享过的技术!
当我无聊翻看邮箱已发送邮件时,发现 WordPress 发出评论回复通知中,评论链接地址是这样一种形式:
https://zhang.ge/liuyan/comment-page-8/#comment-8171
那就好解决了,直接在百度云加速或网站卫士的缓存黑名单里面排除带 comment 或 page 关键字就可以了!
比如,360 网站卫士可以这样设置:
同样的,如果是百度云加速,也可以如下设置:
保存设置之后,再去访问带 comment-page 关键字的页面,就不会被缓存了,而是展示最新内容。现在,从评论邮件点击过来的用户就可以看到管理员的最新回复了,是不是很巧妙呢?
百度云加速和 360 网站卫士的缓存黑名单都是支持通配符的,所以只要你挑选一个通用的关键词+通配符,就能避开缓存了,本文正式利用这一点,解决了 CDN 缓存带来的困扰。
张哥懂得真多,大家有福了。
买了一个备案域名。好激动 :grin:
赞一个,解决了我的问题。另外还要补充一点,后台登陆地址、网站地图和robots也都要添加到黑名单里去。
经与360网站卫士客服咨询,360网站卫士不支持通配符。
但实际测试是支持的 :sad:
怎么才能支持通配符?
请问该怎么设置,让博客支持登陆和评论呢?
太有营养了!最近一直在看博主的文章,造福人类呀!谢谢了!
请问,现在360怎么才能实现评论不缓存?
很久没用了,不清楚,你可以问下客服。
无语了,我一直以为360网站卫士是不支持通配符的!原来是支持的!