【问题标题】:Clearing chrome's cache on server side在服务器端清除 chrome 的缓存
【发布时间】:2016-10-17 11:15:25
【问题描述】:

我对 chrome 的缓存有很大的问题。 我正在为我的客户构建系统。所有都是基于 Angular 构建的,所以一开始总是有一个 index.html 文件。 使用新版本,我将 js 脚本标签更改为 ex。 scripts.2.1.1.js 在 index.html 文件中。 我也有:

<FilesMatch "\.(html)$">
Header set Cache-Control "max-age=1, public"
</FilesMatch>

在我的 htaccess 文件中。

但 chrome 似乎忽略了它。 每次我输入 url 地址时,我都有旧版本,但在源代码中我有新脚本的标签。当我按 F5 时,它会加载新版本,但是当我关闭浏览器的选项卡并再次输入 url 时,我再次拥有旧版本?

怎么了?如何摆脱缓存?我不想要浏览器解决方案(清除缓存)。我不能强迫我的客户这样做。我想要服务器端解决方案。有吗?

解决方案:

<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>

【问题讨论】:

  • 这是临时解决方案的一个小解决方法,在浏览器的新选项卡中打开该视图文件,并在进行更改后按一次 ctrl+f5,然后通过重新加载在您的应用程序中尝试。它肯定会起作用。
  • 我不能强迫我的客户这样做——我正在寻找真正的解决方案。
  • 正如我已经说过的,这是临时解决方案。

标签: javascript angularjs .htaccess google-chrome


【解决方案1】:

【讨论】:

  • 我正在尝试` 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" ` - 运气不好
猜你喜欢
  • 1970-01-01
  • 2011-02-04
  • 2016-07-11
  • 2022-01-10
  • 2019-01-01
  • 2018-08-08
  • 2018-09-11
  • 1970-01-01
  • 2013-05-08
相关资源
最近更新 更多