0

Apache は画像をキャッシュしていますが、どこを見ればよいかわかりません。ブラウザのキャッシュをクリアし、サイトに一度もアクセスしたことがない新しいブラウザを試してみると、古い画像が表示されます。15 分ほどすると、新しい画像が読み込まれます。Apache は、古いファイルを送信する際に、ヘッダーで正しい (新しい) ファイル サイズを報告します。

これをどこで探すべきかわかりません。私のサーバーは Ubuntu 11 です。これは私のローカル開発サーバー上にのみあり、これが発生したときにコードが正しく機能していないと思うとイライラします。どんな助けでも大歓迎です。

4

2 に答える 2

2

画像ファイルのタイプ (NFS か SMB か) はわかりませんが、Apache2EnableSendfileでディレクティブを無効にすると、ほとんどの人が考えているのとは異なり、ファイルのタイプが.NSF

Apache Core Documentationから:

このディレクティブは、httpd がカーネルからの sendfile サポートを使用してファイルの内容をクライアントに送信できるかどうかを制御します。デフォルトでは、要求の処理にファイル内のデータへのアクセスが必要ない場合 (たとえば、静的ファイルを配信する場合)、OS がサポートしている場合、Apache は sendfile を使用してファイルを読み取ることなくファイルの内容を配信します。

解決策は、構成ファイルに次の行を追加することです/etc/apache2/apache.conf

EnableSendfile off

于 2015-05-09T17:13:41.743 に答える
0

明示的に画像のキャッシュを無効にしてみてください:

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)$" image_request
Header set Cache-Control "private, no-store, no-cache, must-revalidate" env=image_request

ところで、Live HTTP Headersは Firefox 用の優れたプラグインで、すべての要求/応答ヘッダーを表示します。ヘッダー データのデバッグに非常に役立つことがわかりました。

于 2012-09-18T08:06:05.540 に答える