因此,经过大量的帮助和研究,我最终能够通过.htaccess文件获得301重定向,但我注意到除非我在浏览器上实际点击'刷新',否则由于只是阅读而不会重定向页面缓存的网站。
我尝试关闭所有浏览器,插入.htaccess文件,然后打开一个新的浏览器,但它仍然打开缓存的网站。我猜想大多数客户都不会打扰刷新页面,如果他们不这样做,这将花费很长时间才能发现确实有新的页面!
有什么想法吗?谢谢!
-Karl
编辑:我只是想在我们当前的主页上添加一个链接,说“点击这里查看我们的新网站!”并且该链接将刷新页面,从而将301重定向转为行动。任何人都可以想到这种负面影响吗?答案 0 :(得分:2)
卡尔
我发现检查缓存标头的最佳方法是Live HTTP Headers firefox add on。
这就是它对你主页的说法:
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 -type f|xargs touch
,它将更改www目录中每个文件的修改时间。
但是,它取决于您的apache实例如何配置为生成etag值。这是一个great little howto on setting up caching with Apache。
至于你添加链接的建议,我认为这不会起作用。您无法强制浏览器远程刷新页面,并且如上所述,问题在于etags,您的解决方案不会更改。
丹
答案 1 :(得分:0)
等一会儿。大多数用户缓存将在几个小时内到期,除非您将服务器设置为使用异常长的缓存提示来提供服务。
如果您现在正在为该页面提供服务,则可以设置标题,以便客户端不会对其进行缓存。看到这个问题: