2009-04-14 104 views
1

URL是在这里:http://www.thexsoft.com/DownloadFolder/download.php?file=P2PTransferHTML/PHP页面被缓存(客户端)时,它不应该是

本页面基本上是我有设置网址下载一个特定的问题,我出版了一本办法。这个页面永远不会被缓存,但它似乎仍然是缓存。

我已经设置了以下项目:

<meta http-equiv="expires" content="0" > 
<meta http-equiv="cache-control" content="no-cache" > 
<meta http-equiv="pragma" content="no-cache" > 
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" > 

在网页的HTML代码验证100%时,我没有在fastclick.net广告代码,但我keept它在现在,因为它通常

回答

2

我使用Firebug检查您的标题:

Cache-Control: max-age=1209600 
Expires: Tue, 28 Apr 2009 18:49:15 GMT 

在PHP中,您可以发送HTTP标头与header()

header('Pragma: no-cache'); 
header('Expires: -1'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
5

Pragma:no-cache仅在通过安全连接(https)使用时防止缓存。 Pragma:no-cache META标签的处理方式与Expires:-1的处理方式相同,如果在非安全页面中使用。该页面将被缓存但标记为立即过期。

http://support.microsoft.com/kb/234067

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 
+0

这个技巧是否适用于页面上的CSS? – Strae 2009-04-14 16:05:32

+0

我相信你对于“pragma:no-cache”的错误只是为了防止HTTPS连接缓存,除非你在谈论某些浏览器的某些特定版本的行为。 – Eddie 2009-04-14 16:14:18

2

是,在某些情况下,浏览器缓存积极,特别是IE6。您需要检查您的服务器发送的http标题,如果不是这个问题,请尝试使用cachebusting URL(插入随机/基于时间的获取变量),以使浏览器认为它是一个新的URL。