php - 将网站更新为新的 HTML 和 CSS,浏览器无法注意到差异

标签 php html css

我经常发现,当我更新一个网站时,我不得不告诉办公室里的其他人按 Shift+F5,因为浏览器不会立即识别出该网站已经更改并加载旧的 HTML 和新的 CSS反之亦然。

如何在我进行更新后强制浏览器加载网站的新版本?或者只是和我在同一个网络上的人遇到这些事情?我试过在我的 style.css 包含的末尾放置一个随机数,例如:

<link rel="stylesheet" media="screen" href="/inc/style.css?rnd=493481" />

然而,这似乎没有任何区别。我不需要它来重新加载 HTML 和 CSS 每次 页面加载,就在我进行重大更新时。

有什么建议吗?

最佳答案

现代浏览器询问服务器上次更改 (css) 文件的时间,并检查它们的缓存版本上次更改时间是否匹配。如果它不匹配,浏览器就会知道服务器版本已更改并使用该版本而不是 chached 版本。

但是你的服务器必须支持最后更改时间检查。您的服务器可能没有或已被禁用?

我一般不建议禁用缓存 - 它会给您的服务器带来不必要的流量。在这种情况下,最好的解决方案是(正如 user2440252 已经说过的那样)是使用特定于版本的名称。

关于php - 将网站更新为新的 HTML 和 CSS,浏览器无法注意到差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453816/

相关文章:

php - 将 Laravel 从 5.6 升级到 6.0 后,调用未定义的 str_random() 函数不起作用

javascript - 我希望一个 <li> 在单击时隐藏另一个 <li> 在同一个 <ul>

php - MySQL where NOT IN 名称数组?

CSS float : how to form the second row based on tallest DIV?

html - 使用VBA从网页中提取表格

javascript - 仅在选择选项发生更改后获取输入值

css - 特定于操作系统的 CSS?

html - Logo 和导航栏链接在同一行

php - JQuery ajax 函数可以工作,但无法正确返回变量

php - 如何在 Eclipse 上设置 PHP 分析?