我刚刚对我的工作网站进行了重大更新。
仍然会从缓存版本调用某些资源,例如样式表和javascript文件。该网站的一些访问者仍会看到旧资源。
是否有htaccess命令强制所有声明从设置日期重新缓存
答案 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>