2012-12-03 51 views
2

我想在Apache 2.2上設置緩存控制屬性,以便客戶端連接不會'緩存任何東西。我在httpd.conf文件中添加了各種Header屬性,但是這些屬性不會覆蓋默認的max-age和expires標題。這些都是在httpd.conf我有值的屬性標題:Apache緩存控制最大年齡不能被覆蓋

Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT" 
    Header set Cache-Control "no-store, no-cache, must-revalidate" 
    Header set Pragma "no-cache" 

得到的標題是:

HTTP/1.1 200 OK 
Date: Mon, 03 Dec 2012 18:06:35 GMT 
Server: Apache/2.2.21 (Win32) DAV/2 
Cache-Control: max-age=86400, no-store, no-cache, must-revalidate 
Expires: Tue, 04 Dec 2012 18:06:36 GMT, Thu, 01 Dec 2003 16:00:00 GMT 
Content-Length: 548113 
Last-Modified: Fri, 14 Sep 2012 22:08:04 GMT 
Vary: Accept-Encoding 
Pragma: no-cache 
Keep-Alive: timeout=15, max=98 
Connection: Keep-Alive 
Content-Type: video/f4f 

所以,Cache-Control頭仍然是發送 「最大年齡= 86400」,並附加其餘的屬性。我怎樣才能完全覆蓋這個值?我也嘗試使用指定mod_expires模塊,這是httpd.conf中,我做編輯,但它似乎並沒有做任何事情:

<IfModule mod_expires> 
    ExpiresActive On 
    ExpiresDefault 0 
</IfModule> 

因此,誰能在那裏告訴我如何完全重寫Apache的緩存控制併爲每個請求過期頭?我們在Windows上運行Apache 2.2以用於閃存媒體流媒體服務器。我想覆蓋一些東西,因爲服務器根據連接到它的客戶端發送了很多深奧的格式。

在此先感謝。

回答

1

試試這個位置:

Header unset Expires 
Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT" 

我讀的地方,它是貝蒂先刪除舊的標頭。所以unset規則將做到這一點。

如果這不起作用嘗試mod expires

ExpiresActive On 
ExpiresByType video/f4f "access minus 9 years" 
+0

我想這一點,也沒有工作,它只是附加就像我上面貼的結果。從理論上講,如果我沒有設定新的價值,那麼不應該有任何標題對嗎? –

+0

@PaysonWelch嘗試我的更新。啊,你已經使用了...也許問題是你使用兩個 – rekire

相關問題