2010-04-14 52 views
0

我有一個網頁被緩存的問題,即使我指定它不應該。舉個簡單的例子:不需要的網頁緩存

<html> 
<head> 
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> 
<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Expires" content="0"> 
</head> 
<?php 
    print date("Y/m/d H:i:s"); 
?> 
</html> 

在我的瀏覽器中多次刷新表明這個頁面沒有被重新加載,因爲時間保持不變。如果我繼續點擊瀏覽器中的刷新按鈕,它最終會刷新。在哪裏可以緩存這個頁面,我怎樣才能避免它?

我在openSuse 11.2上使用Apache 2.2.15,PHP 5.3.2,我的測試瀏覽器是在同一臺機器上的Firefox 3.5.7。

回答

2

您是否嘗試過使用無緩存標頭?例如: -

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 
+0

是,我的例子中沒有顯示,本人固定它 – Marius 2010-04-14 15:27:33

+0

一個''標籤比HTTP頭不同,但我不知道哪一個優先。從命令行執行'curl -I http:// example.com /'來檢查HTTP緩存頭。 – 2010-04-14 15:59:14

+0

感謝您的解釋。我嘗試設置標題,但它也不起作用。 curl -I給出: HTTP/1.1 200 OK 日期:2010年4月15日星期四10:07:56 GMT 服務器:Apache/2.2.15(Unix)PHP/5.3.2 X-Powered-By:PHP/5.3.2 Cache-Control:no-cache,must-revalidate Expires:Sat,26 Jul 1997 05:00:00 GMT Content-Type:text/html – Marius 2010-04-15 10:15:11