2010-09-21 102 views
0

我在php頁面上使用下面的頭文件。nginx + php-fpm忽略無緩存頭文件

// Prevent page caching. 
header('Expires: Tue, 20 Oct 1981 05:00:00 GMT'); 
header('Cache-Control: no-store, no-cache, must-revalidate'); 
header('Cache-Control: post-check=0, pre-check=0', FALSE); 
header('Pragma: no-cache'); 

我也在網址中使用rand = 999999999(帶有一個真正的隨機數)。

但頁面仍被緩存。重新加載工作,但第一次加載緩存。任何人都知道我可以改變這一點?

+0

難道真的忽略了你的頭?服務器檢查與[HttpFox](https://addons.mozilla.org/en-US/firefox/addon/6647/) – Lekensteyn 2010-09-21 21:00:11

+0

你在響應中看到了什麼標題?你的ngi是什麼NX配置像? – timdev 2010-09-21 21:27:35

回答

0

您的問題最有可能是您正在使用的瀏覽器,操作系統和代理的某種組合。因此...

a)停止使用IE測試Web應用程序,直到您知道您的應用程序在至少兩個體面的瀏覽器中運行100%,而實際上嘗試遵守標準。 FF有很好的開發工具,推薦使用。

b)重新啓動窗口並清除緩存。設置FF來檢查每次訪問。禁用測試站點的任何本地代理。現在測試。得到那個工作。檢查服務器上的日誌以證明發生了緩存。如果它被服務,它不會被緩存。

c)然後嘗試使用IE進行測試。修復佈局(不要爲了體面的瀏覽器而打破它)。 修復IE瀏覽器出現的javascript錯誤(同樣不會破壞其他瀏覽器)。修復IE中其他所有錯誤 - 所有這些都不會破壞工作代碼。 (停止詛咒MS - 它對你的健康不利)。

d)離開IE用戶剩餘的錯誤 - 在IE瀏覽器的一些錯誤不能得到全面:(

好 - 我承認猜測了一下有關的原因,你的麻煩有同樣的排序。我使用nginx的和FastCGI超過2年的Windows和IE瀏覽器的麻煩。以上是一個實用的解決方案。

ps的。從來沒有任何問題。