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

一枚菜鸟
  • 133

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

回复
阅读 2.1k
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;
  }
宣传栏