.htaccess 301使用htaccess和缓存重定向:如何删除旧缓存?

.htaccess 301使用htaccess和缓存重定向:如何删除旧缓存?,.htaccess,caching,http-status-code-301,.htaccess,Caching,Http Status Code 301,因此,经过大量的帮助和研究,我终于能够通过.htaccess文件实现301重定向,但我注意到,除非我在浏览器上点击“刷新”,否则它不会重定向页面,因为它只是读取缓存的站点 我尝试关闭所有浏览器,插入.htaccess文件,然后打开一个新浏览器,但它仍然会打开缓存的站点。我可以大胆猜测,大多数客户不会费心刷新页面,如果他们不这样做,这将需要相当长的时间才能发现确实有一个新页面 有什么想法吗?谢谢 -卡尔 编辑:我刚想到在我们当前的主页上放一个链接,上面写着“点击这里查看我们的新网站!”这个链接会刷

因此,经过大量的帮助和研究,我终于能够通过.htaccess文件实现301重定向,但我注意到,除非我在浏览器上点击“刷新”,否则它不会重定向页面,因为它只是读取缓存的站点

我尝试关闭所有浏览器,插入.htaccess文件,然后打开一个新浏览器,但它仍然会打开缓存的站点。我可以大胆猜测,大多数客户不会费心刷新页面,如果他们不这样做,这将需要相当长的时间才能发现确实有一个新页面

有什么想法吗?谢谢

-卡尔


编辑:我刚想到在我们当前的主页上放一个链接,上面写着“点击这里查看我们的新网站!”这个链接会刷新页面,这反过来会启动301重定向。有人能想到这有什么副作用吗?

等一下。大多数用户的缓存将在数小时内过期,除非您将服务器设置为使用异常长的缓存提示服务页面

如果现在正在为页面提供服务,则可以设置标题,以便客户端不会缓存该页面。请参见此问题:

卡尔

我发现检查缓存头的最佳方法是

以下是关于您的主页的说明:

HTTP/1.x 200 OK
Date: Fri, 06 Nov 2009 15:16:57 GMT
Server: Apache
Last-Modified: Mon, 12 Oct 2009 16:52:05 GMT
Etag: "85dcc1-1386-4ad35eb5"
Accept-Ranges: bytes
Content-Length: 4998
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive
Content-Type: text/html
如上所述,etag是一个问题。快速(unixy)修复方法可能是:
find/var/www/htdocs-键入f | xargs touch
,它将更改www目录中每个文件的修改时间

但是,这取决于apache实例如何配置以生成etag值。这是一个例子

至于你建议增加一个链接,我认为那是行不通的。您不能强制浏览器远程刷新页面,如上所述,问题在于ETag,您的解决方案不会更改


Dan

有没有办法检查缓存将持续多长时间?例如,我关注的网站是www.mastercontrols.com。您的服务器正在使用etags发送一个304未修改的页面,该页面位于用户缓存中。如果您的缓存出现问题,请尝试修改文档,使其在磁盘上的最后修改日期更晚。因此,您建议只需进入每个文件,更改一些较小的内容并保存它?另外,您是如何发现服务器正在发送304的?