Я не могу понять, почему простые старые изображения 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, включенному оттуда, и не нашел разумного объяснения. Я также возился, Pagesped и Chrome проверяли его до смерти в течение нескольких часов, и я все еще не знаю.
Редактировать. Как упоминалось ниже, в корневом каталоге этого веб-сайта есть только один файл .htaccess
. Файлы JPEG проходят с mime-типом image/jpeg
в порядке, но заголовки управления кешем отсутствуют, и я не могу понять, почему.