我有一个问题,似乎 cache.manifest 文件自己被缓存了。这意味着(移动)Safari 不会记录对文件的每次更改,因此它永远不会更新并始终显示最后缓存的文件。
我尝试使用与.htaccess
文件位于同一目录中的cache.manifest
文件来避免它:
ExpiresActive On
ExpiresDefault "access"
这没有帮助,所以我在一个包含以下标头的 php 文件中更改了 cache.manifest:
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-Type: text/cache-manifest');
任何人都对我如何确保缓存文件本身在可能的情况下被检索有其他想法?
适用于: Safari(桌面)、Chrome(Samsung Galaxy Tab v10.1)、Firefox
失败: Chrome、Safari(iOS)
将 cache.manifest.php 重命名为 cache.manifest 并将以下行添加到 .htaccess
<IfModule mod_expires.c>
Header set Cache-Control "public"
ExpiresActive on
# cache.manifest needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
</IfModule>
如果我更改 cache.manifest 中的修订注释并在 Safari (iOS) 上刷新它,它仍然会显示旧文件。我一无所知。