这几天修改了网站,修改了图片和CSS
修改完后,就把图片和CSS上传到服务器
重新打开网站,发现CSS和图片没有更新,由于CSS和图片的文件名没有改变,一定要Ctrl+F5强制刷新页面,或者清除缓存,页面才能正常
另外一个同事打开网站,也是要强制刷新,才能正常CSS,我就加了一个......style.css?20100518 就解决了问题
但是,图片呢,有很多图片都作了修改,但是文件名没变,以前访问过的人,肯定有缓存的,现在访问网站,就不显示新图片了
我也不可能在每个图片地址后面加 ?20100518 这样的东西啊请问,有没有什么办法,强制清除缓存,让访问者一上来就看到最新的页面?

解决方案 »

  1.   

    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
      

  2.   

    header("Pragma:no-cache");
    header("Cache-control:no-cache");
      

  3.   

    header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); 
    header("Cache-Control: no-cache, must-revalidate" ); 
    --------------------------------------------------------------
    我常用的代码
      

  4.   

    header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );  
    header("Cache-Control: no-cache, must-revalidate" );  
      

  5.   

    判断创建日期,不符合的删除了,再说了css在服务器上,又不在客户端
      

  6.   

    在请求的url后面生成个随机数,最大程度降低命中几率:http://www.x.com/?6868y8hh99j9j9
      

  7.   

    图片名?时间戳就可以了。时间戳是后来用代码加上去的。这个原理和你修改css文件一个意思
      

  8.   

    header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );   
    header("Cache-Control: no-cache, must-revalidate" );
    顶上!