• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    WordPress重写响应头部Cache-Control控制缓存时间【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 最近折腾WordPress缓存的问题有点儿疯狂 ,这篇之后暂时不折腾WordPress缓存了。腾讯CDN有个功能可以缓存动态页面,阿里云的应该也有,我没发现,之前一直用的静态加速。这个缓存动态页面的功能非常好,用得好可以极大地提高访问速度,用得不好就有点尴尬了,要么文章不更新,要么就是缓存不正确。

      仅仅是在腾讯cdn上设置缓存是没有效果的,因为WordPress默认的响应头部是nocache,无缓存每次都需要请求服务器新数据。而腾讯cdn必须要求源站控制缓存时间,为此,我们可以利用WordPress钩子来实现修改响应头部,当然,你也可以增加Nginx或者Apache的规则来实现。

      将下面代码加入主题目录下functions.php文件中即可修改响应头,我们可以在此基础上根据页面类型不同,输出不同的响应头部,下面只是对首页与文章页做了判断,需要更多的功能自行添加。

      function Cache_Control(){
      	if(is_home()){
      		header('Cache-Control: max-age=1');
      	}
      	if(is_single()){
      		header('Cache-Control: max-age=2');
      	}
      }
      add_action( 'wp', 'Cache_Control' );

      这里的头部信息是我本地为查看效果随意写的,大家可以根据自己需要设定缓存时间,或者缓存控制方式。结果如下图

      WordPress重写响应头部Cache-Control控制缓存时间

      可以看到在首页成功修改了响应头部的缓存控制字段的时间,再配合腾讯CDN缓存,即可极大的提高速度,但是如果你对动态数据特别依赖,建议还是不要缓存动态页比较好。

      你需要登录,才能进行发帖操作