我刚刚对我的工作站点进行了重大更新。
一些资源仍然是从缓存版本中调用的,比如样式表和javascript文件。网站的一些访问者仍然会看到旧的资源。
是否有一个htaccess命令可以强制所有assest从设定的日期开始重新缓存
发布于 2014-07-02 18:05:26
我所做的不是在每次更新时打乱我的.htaccess规则,而是在我更改的样式和js文件的名称后面附加一个随机数字或我更改它的日期/时间。
这样浏览器就会把它看作一个新文件,加载它并缓存新版本。
例如,在您的标记中,添加一个版本查询字符串。
散列或使用散列style.css?version=V6CbUlTe7M94ol8
这也可以用你的JS文件来完成。比起修改你的Apache配置,这要容易得多,也更好做。任何时候你做一个更新,只要改变版本,它就会被重新缓存。
仅供参考,StackOverflow使用相同的技术。看看这个页面的源代码。
<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css?v=dc5a5d7ef830">发布于 2014-07-02 19:02:53
我找到了一个解决方案
<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>https://stackoverflow.com/questions/24526010
复制相似问题