我的chrome缓存存在很大问题。
我为我的客户建立系统。所有都是建立在角度上,所以在开始时总有一个index.html文件。
使用新版本我将js脚本标记更改为ex。 index.html文件中的scripts.2.1.1.js
。
我也有:
<FilesMatch "\.(html)$">
Header set Cache-Control "max-age=1, public"
</FilesMatch>
在我的htaccess文件中。
但是铬似乎忽略了它。 每当我输入url地址时我都有旧版本,但在源代码中我有新脚本的标签。当我按下F5时会加载新版本,但是当我关闭浏览器的标签并再次输入网址时我再次使用旧版本了?
出了什么问题?如何摆脱缓存?我不想要浏览器解决方案(清除缓存)。我无法强迫我的客户这样做。我想要服务器端解决方案。有没有?
解决方案:
<FilesMatch "\.(html|js|css)$">
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>
答案 0 :(得分:3)
您可以尝试设置&#34; no-store&#34;在标题中: Why both no-cache and no-store should be used in HTTP response?
但实现ETag标头是一种更强大的方法: