论坛apache伪静态_修正PostViews插件加入CDN静态缓存后计数不正常问题

前期在 固定链接格式的改进节省页面载入时间的方法 https://www.iappi.cn/2019_05/2019658.html 有过记录当时为了节约waiting ttfb时间,将固定链接的格式设置成.html,并且做了APACHE服务器伪静态。从而使得CDN缓存了静态的html页面后,大大的缩短了载入的时间。但同时也带来了一个问题,就是PostViews这个用来记录点击量的插件在此之后,计数一直不正常的问题。

5d43be1845e491ee7127852fba84cf09.png

这是因为 PostViews 插件默认的情况下使用 PHP 的方式计数,而不是使用 ajax 计数。当PostViews使用 PHP 方式计数时,只有在回源访问网站的的时候 PostViews 插件才会计数一次,而本站这次在百度云CDN上设置的是html是缓存超过1天,这也是为什么PostViews 插件计数非常少的的原因。因为只有超过了缓存的时间,CDN才会去源站读取,插件才会计数一次。而其他情况下,CDN不回源,计数器就永远不会加1,无论有多少个访问。另外简单解释下ajax,Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),无需浏览器安装插件,只要允许JavaScript在浏览器中运行即可。
网上也找了相关的一些解决方案,但要求是开启PostViews插件的Use AJAX To Update Views 的选项,选择yes后保存即可。但实际上到后台并没有看到相应的选项:

8aad521a8f7100eae9341201c9b61604.png

后来又找了一些解决方案,发现是因为这个Use AJAX To Update Views选项的开启,需要WordPress安装了某些缓存插件后,PostViews 插件才会自动识别出来,就是先决的条件是WP_CACHE 开启缓存应该为true,而不是没有。这样的话,需要在站点的根目录WordPress下找到wp-config.php,在wp-config.php中添加如下代码,并保存。
define("WP_CACHE", true);

73653bc681cc95a70440c15e07174603.png

这时候再到后台打开PostViews 插件的设置页面,发现Use AJAX To Update Views选项已经出现了,这时候修改为Yes,并保存。

cb687953cb74f60fed97c56f9a3311fd.png

这时候再刷新站点中的文章页面,打开F12开发者选项,在network选项卡中,可以看到admin-ajax.php文件已经加载成功了,这时候说明修改已经生效,PostViews 插件开启了ajax计数模式。

480fdf3c3eae3e70c6c9c6293b912ea4.png

刷新一下,可以看到后台计数已经+1。当然因为CDN缓存了html静态文件的原因,前台页面显示的数目依然没有变化的。前后台还是有一定的差距的,这就需要CDN的缓存刷新来解决了。

a21e23235c2488c8914e3827ccf355dd.png
后台显示RUFUS.小巧的U盘启动盘制作工具的计数

aafaacf2e05ccd47abe93a455ee7b1ef.png
前台显示RUFUS.小巧的U盘启动盘制作工具

更多:

修正PostViews插件加入CDN静态缓存后计数不正常问题​www.iappi.cn
94f2fdd5aedc8e3cf315c5e1d8670e25.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值