在我的 Apache 服务器上修改 CSS 文件后,浏览器似乎无法加载最新的文件,直到我在浏览器上点击“刷新”。通过单击链接或在地址栏中按 Enter 正常打开页面不会提取更新的 CSS 文件。在开发时刷新是可以的,但这是一个实时服务器。
包含 CSS 的 HTML 文件的 cache-control 设置为 no-cache,并且 Apache 服务器具有默认配置。
有什么建议吗?谢谢
答案1
您可以尝试将其添加到您的 Apache 配置文件中:
<IfModule mod_headers.c>
<filesMatch "\\.(html|htm|css)$">
Header set Cache-Control: "no-cache, must-revalidate"
</FilesMatch>
</IfModule>
请注意,您需要启用mod_headers。
答案2
CSS 的缓存通常由Cache-Control
CSS 文件的标头控制,而不是 HTML 文件。这就是告诉浏览器缓存所有样式但不缓存数据的方式,这听起来就像这里正在发生的事情。