2010-11-29 10 views
1

私はApache 2.2.16を使用しています。Expires/Cache-Control Headersの問題

私は私のhtdocsフォルダに次のHTMLファイルを持っている:私はそれは別に、それのために別の要求をしないように、私のブラウザでCSSファイルのキャッシュを作成しようとしている

<html> 
<link media="screen" type="text/css" href="/css/test.css" rel="stylesheet" /> 
<body>XXXX</body> 
</html> 

初めてのページロード時に

ただし、リフレッシュを押すたびに、CSSファイルがサーバーから再度読み込まれていることがわかります。私はサーバーのログにファイルの200応答コードが表示されます。

私は私のhttpd.confファイルに次のように持っている:ここで

<LocationMatch "\.(css)$"> 
Header set Cache-Control "max-age=2592000" 
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT" 
Header unset Last-Modified 
Header set Content-Type text/css 
Header unset ETag 
</LocationMatch> 

はFirebugので報告されたように、私のレスポンスヘッダです:

Date Mon, 29 Nov 2010 10:48:49 GMT 
Server Apache/2.2.16 (Win32) 
Accept-Ranges bytes 
Content-Length 18107 
Cache-Control max-age=2592000 
Expires Thu, 15 Apr 2020 20:00:00 GMT 
Content-Type text/css 
Keep-Alive timeout=5, max=97 
Connection Keep-Alive 

私はについてのいくつかの記事を読みましたキャッシュヘッダーを設定していますが、私はそれを動作させることができません。

アドバイスをいただければ幸いです。

答えて

0

手動で設定した設定で同様の問題が発生しましたが、&キャッシュ制御の有効期限が切れています。 mod_expiresに「重い持ち上げ」かもしれないはすでにこれらの問題を解決していますか?

+0

mod_expiresを使用して同じ問題が発生しました... Expires/Cache-Controlヘッダーを設定するためにmod_headersを使用するのではなく、 "ExpiresDefault"アクセスと10年 "を私のLocationMatchに追加しました。 –

+0

D'oh!私はChromeの開発者ツールとFirebugを使ったFirefoxでレスポンスコードを監視しています。 Firebugのブラウザキャッシュを無効にしました。私は、Chromeの開発者用ツールがbroswerキャッシュを無効にしているかどうかわかりません。しかし、私はツールを無効にし、Fiddler2でトラフィックを検査すると、物事が期待どおりにキャッシュされているようです! –