在站点内容更新后清除站点缓存

时间:2014-07-02 08:08:00

标签: .htaccess caching

我刚刚对我的工作网站进行了重大更新。

仍然会从缓存版本调用某些资源,例如样式表和javascript文件。该网站的一些访问者仍会看到旧资源。

是否有htaccess命令强制所有声明从设置日期重新缓存

2 个答案:

答案 0 :(得分:0)

每次进行更新时,我都会做什么而不是弄乱我的.htaccess规则,我是用随机数或我更改它的日期/时间追加我更改的样式和js文件的名称。

这样浏览器就会将其视为新文件,加载并缓存新版本。

例如,在您的代码中,添加版本查询字符串。

style.css?version=3.2或使用哈希style.css?version=V6CbUlTe7M94ol8

这也可以用你的JS文件来完成。更容易和更好地做,然后搞乱你的Apache配置。无论何时进行更新,只需更改版本,即可为所有版本重新缓存。

  

仅供参考,StackOverflow使用相同的技术。看一下源代码   对于这个页面。

<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css?v=dc5a5d7ef830">

答案 1 :(得分:0)

我找到了解决方案

<FilesMatch "\.(html|htm|js|css|php)>
    FileETag None
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</FilesMatch>