Я не могу понять, почему простые старые изображения JPEG (около дюжины, < 10 KB
каждое) на веб-сайте, над которым я работаю, не берут заголовки управления кэшем, они принудительно передаются. Правила .htaccess
, которые я использую, основаны на самом последнем файле HTML5 Boilerplate .htaccess (соответствующий раздел ниже). Странно то, что на сайте примерно одинаковое количество PNG, и, за исключением двух из них, заголовки управления кэшем работают отлично.
<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-файлов и не могу найти разумного объяснения. Я также возился, «Страспед» и «Хром» проверяли его до смерти часами, и я до сих пор ничего не понимаю.
Редактировать: Как упомянуто ниже, в этом корневом каталоге есть только один .htaccess
файл. JPEG-файлы с MIME-типом image/jpeg
работают нормально, но заголовки управления кэшем отсутствуют, и я не могу понять, почему.