< 10 KB
私が取り組んでいる Web サイトの単純な古い JPEG 画像 (それぞれ約 12 枚) が、強制フィードされているキャッシュ制御ヘッダーを取得しない理由がわかりません。.htaccess
私が使用しているルールは、最新の HTML5 Boilerplate .htaccess ファイル (以下の関連セクション) に基づいています。奇妙なことに、サイトにはほぼ同じ量の PNG があり、そのうちの 2 つを除いて、キャッシュ制御ヘッダーは完全に機能します。
<IfModule mod_expires.c>
ExpiresActive on
# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"
...
# media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
...
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
</IfModule>
(省略記号は、余分なExpiresByType
ルール セクションが削除されたことを示します)
私は自分の/etc/apache2/apache2.conf
ファイルからそこに含まれるほぼすべての conf ファイルに至るまで、適切な説明を見つけることができません。私もいじり、Pagesped と Chrome で何時間も監査しましたが、まだわかりません。
編集:.htaccess
以下で説明するように、この Web サイトの Web ルートにはファイルが1 つしかありません。JPEG は MIME タイプでimage/jpeg
正常に処理されていますが、キャッシュ制御ヘッダーが欠落しており、その理由がわかりません。