PHP 如何实现对不同的资源设置不同的缓存时间

最近想了解下静态资源的缓存。用的是CI框架,于是便在构造函数里面加上了header("Cache-control:max-age=3600");header("Last-Modified:".gmdate("D,M,d,Y")."GMT"); 但是这样的代码不满足我的需求啊。我希望给图片设置缓存时间1个月,给静态资源缓存一天。如何实现啊? 此外,这行代码只对静态资源缓存吗?会不会对我其他的数据造成困扰,因为不希望数据被缓存,只缓存静态资源(js,css,图片)

阅读 2.9k
2 个回答

推荐看下 http缓存

如果只缓存js,css,图片的话,可以在nginx服务器上做缓存策略,这样是全局的不需要单独写php来处理

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题