• 注册
  • 看我脸色
    看我脸色套图达人
    个人签名:就是喜欢美的东西。
    关注1 粉丝1 喜欢0内容256
    上海 · 晴 15-30℃
    全部文章 全部文章 关注:0 内容:1070

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

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 全部文章
    • LV.1 新手
      套图达人

      最近折腾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控制缓存时间【转】

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

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

      请登录之后再进行评论

      登录
    • 帖子间隔 侧栏位置: