2013-04-05 3 views
5

更新を完了した後で私のサイトを頻繁に更新しています。クライアントは古い画像&が新しいものの代わりに読み込まれることを報告しています。私は彼らがブラウザのキャッシュから来ていることを知っているが、私はスクリプトをサーバのキャッシュからロードしないようにすることができます。nginxはキャッシュからのロードを防止します

私はphp-fpmでnginxを使用しています。

+1

次のようなヘッダーを試すことができます: 'header( 'Expires:Thu、01-Jan-70 00:00:01 GMT'); (GMT));(GMT ');(GMT');;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ヘッダー( 'Cache-Control:no-store、no-cache、must-revalidate'); ヘッダー( 'Cache-Control:ポストチェック= 0、事前チェック= 0'、偽); header( 'Pragma:no-cache'); ' – vikingmaster

答えて

11

HTTPヘッダーを強制的にブラウザのキャッシュ動作に影響させることはできますが、キャッシュを必要とする運用環境では、これはお勧めできません。言われて、私は自分自身を得ていること

http://wiki.nginx.org/HttpHeadersModule

:詳細については、こちらを

チェックCache-Control no-cacheヘッダを強制的に

expires -1 

だから、単にのようなものを使用画像や静的なファイル名を変更するだけの習慣です。おそらく、これはCDNの作業に由来し、これは非常に有益です。つまり、頻繁に更新する可能性のある静的ファイル(特定のコンテンツの一部ではない)があるとします。

someimagev1.jpg 
someimagev2.jpg 
somejs1.js 
somejs2.js 
etc. 

私は必要に応じて値(およびHTMLソース内のリンク)を変更します。