我有一个实时网站,但是由于更改始终存在,因此我需要用户查看最新的HTML文件,即从服务器而不是浏览器缓存中加载文件。

当该网站上线时,我不知道:

<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">


我在必要时使用HTML,CSS,jQuery和PHP制作了我的网站。

如何使网站直接从服务器加载?

最佳答案

我使用meta标记更新了HTML代码,但是由于我已经将页面保存在缓存中,因此新的HTML代码(带有meta标记)未运行。我可以简单地刷新和工作,但是用户不会知道或不这样做。


如果需要强制每个人的浏览器重新加载普通的.html页面,则可以将'Cache-Control` header添加到您的Web服务器配置中:

Nginx的

location ~* \.(html)$ {
 add_header Cache-Control "no-cache, no-store";
}


阿帕奇

<filesMatch ".(html)$">
    Header set Cache-Control "no-cache, no-store"
</filesMatch>


但是,如果更改位于.html页面正在加载的文件中,例如.js .css,则可以使用此“缓存清除”技术:

script.css?v=1.0 // This is the URL for release 1.0
script.css?v=1.1 // This is the URL for release 1.1
script.css?v=1.2 // etc.


这将强制浏览器加载新文件。

10-05 20:37
查看更多