Webページの画像は、変更されていなくても、常にサーバーから読み込まれていることがわかりました。これらはページではなく画像であるため、有効期限を含めることはできません...ブラウザが既に持っている画像をリロードしないようにするにはどうすればよいですか?
更新:
PHPでこれを使用してみました:
header ("ExpiresByType image/gif \"modification plus 10 minutes\"");
ただし、これにより内部サーバーエラーが発生します。
ヘッダーが正しくありません。 ここ はいくつかのドキュメントです。次のようにExpires
にする必要があります。
header("Expires: Thu, 30 May 2013 11:26:00 GMT");
通常、次のようにPHPで生成します。
header('Expires: '.date('D, d M Y H:i:s', time() + 60*10).' GMT');
タイプは無関係であるため、タイプを指定する必要はありません。ヘッダーは、単に提供している結果に適用されます。 max-ageヘッダーの代わりに を使用することもできます:
header('Cache-Control: max-age=600');
ExpiresByType
は、PHPではなくApacheディレクティブです。通常、これは画像と同じフォルダー(または仮想ホスト)の.htaccess
ファイルに配置します。
ExpiresByType image/gif "modification plus 10 minutes"
これを機能させるには、Apacheモジュールmod_expires
を有効にする必要があります。