缓存、ETag 过期..没有任何效果,必须刷新才能看到更改



缓存和ETag的事情让我发疯了。

如果我更改页面并在浏览器上转到它,则我所做的更改不存在。我必须刷新才能看到它们。这不可能是正常的。我可能会有一个访问者回到我的主页,而新文章条目没有反映。

我已经尝试取消设置 ETags 等等。

我该怎么做才能确实缓存内容,但如果它们在保存后发生了变化,则会显示更新的版本?

YSlow 测试也给了我这个警告:ETag 配置错误。如果我的 htaccess 为空,也会发生这种情况。这表明这是我主机的问题,但同样的情况发生在我的两个网站上,托管方式不同。

这是我的.htaccess的样子:

AddDefaultCharset UTF-8
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^mypage.com [nc]
rewriterule ^(.*)$ http://www.mypage.com/$1 [r=301,nc]
ServerSignature Off
Options -Indexes
ExpiresActive On
ExpiresDefault A606990
<FilesMatch ".(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A606990
</FilesMatch>
<FilesMatch ".(jpg|jpeg|png|gif|swf)$">
ExpiresDefault A606990
</FilesMatch>
<FilesMatch ".(txt|js|css)$">
ExpiresDefault A606990
</FilesMatch>
<FilesMatch ".(xml)$">
ExpiresDefault A86412
</FilesMatch>

请有人帮我一把,我已经阅读了很多关于这个主题的文章,但似乎没有任何效果。

如果您使用apache,则看起来您可能没有正确设置ETag配置。来看看apache ETag房产

你可能会想要类似的东西

FileETag MTime Size

但是,在您的配置中,现在使用mod_include生成的任何内容都不会为它们生成Etags

好的

,我有一个解决方案,希望它对某人有所帮助。它只是关于 过期默认为 A0 对于您想要显示任何更改而无需刷新的文件类型。

最新更新