2012-04-16 2 views
0

私の最初の投稿はここではたくさん読んでいますが、そのうちのいくつかはとても役に立ちました。しかし、ブラウザのキャッシングには多くのポストがありますが、以下では私の要点をカバーしていないようです。レバレッジブラウザのキャッシングとCSSリファレンス画像

私はこのWebサイトを更新しており、このレバレッジブラウザのキャッシュに関する問題をページスピードで抱えています。今、銃を飛ばして、私たちの.htacessファイルを変更して、何週間も古いコンテンツを見ているユーザーについているのではないかと思っています。読んだほうが良いと思っていました。キャッシュ '。

.cssファイルまたは画像ファイルを変更してタイムスタンプを使用した場合、top_nav.png?123456がtop_nav.pngに変更されますか?654321これが更新され、ブラウザが新しいアセットとしてそれを見ているので、キャッシュされています。

しかし、自分自身が更新されていない.cssファイルがありますが、.cssファイル内のイメージの1つが更新され、タイムスタンプで参照されていますキャッシュされたバージョンを使用してください!私は正しいです..?

これは、.cssファイル内のすべてのイメージにタイムスタンプが付いていることを意味します。つまり、イメージが更新されると、.cssファイルも更新され、ブラウザは.cssファイルをリロードします。

申し訳ありませんが、私はできるだけ明らかにポイントを明確にしようとしています。

ありがとうございます。 ゲーリー

答えて

0

クライアントがファイルを更新するように強制する名前変更については間違いありません。しかし、キャッシングは再帰的ではありません。キャッシュされた.cssファイルは、リンク先の画像やその他のコンテンツもキャッシュされているわけではありません。 CSSファイルを参照する

<filesMatch "\.(xml|txt|js|css)$"> 
    Header set Cache-Control "max-age=172800, public, must-revalidate" 
</filesMatch> 

ユーザー要求のindex.htmlを、例えば:

は、私は私の.htaccessファイルでこれを持っていると言います。 CSSファイルはまた、いくつかの背景.jpg画像を参照します。ユーザーが以前にこのページにアクセスした場合、cssファイルはキャッシュされますが、.jpgイメージは.htaccessにキャッシュされていないため再ロードされます。

+0

こんにちは@erikreed、返信ありがとう、それはそれを行う方法の1つだろうと思います。しかし、画像ファイルをキャッシュしてpng | jpg |等は、cssによって画像の参照をキャッシュするでしょう..?これは、次に、cssファイルを更新すると、参照されるすべてのイメージが更新されるという質問をします。 –

+0

はい、 'png | jpg'を追加すると、画像がcssで参照されているとキャッシュされます。以前にcachedとして設定されていた場合、cssを更新しても参照画像は更新されません。再帰的ではありません。 – erikreed