有一个没有缓存控制的静态站点:site.com/index.html
现在有:site.com/index.php(index.html已删除)
在chrome上(以前打开过旧网站)chrome显示缓存版本index.html
看起来chrome加载网站时不联系服务器
.htaccess
<FilesMatch ".(css|html|swf)$">
Header unset Cache-Control
</FilesMatch>
字符串
任何其他.htaccess的变化对缓存破坏不工作,因为 chrome 似乎不联系这服务器
3条答案
按热度按时间xmd2e60i1#
这是正常的行为,因为你之前告诉Chrome它可以缓存你的文件。所以它没有理由询问服务器,因为它已经知道你的文件没有更新(你知道这是错误的,但你不能告诉浏览器)。
您必须删除浏览器中该高速缓存。同样的效果将发生在所有当前的浏览器上。
如果旧的和新的索引页都包含一个未缓存的JavaScript,您可以使用脚本触发到index.PHP或子路径的重定向
要了解缓存文件何时过期,您可能需要尝试ChromeCacheView及其队友Internet Explorer和Firefox,这将给予您一个缓存文件在您的机器上过期的印象。在此之后,您将知道可能需要多长时间,直到所有客户都获得新版本而不清除其缓存。
的数据
6qftjkof2#
通常浏览器会缓存js,css和图片文件。要加载这些更新的文件,有太多的解决方案。
wfveoks03#
尝试删除.htaccess中的缓存控件并将用户从url重定向到另一个URL,然后等待一段时间并再次检查您的网站。