mod_expires не устанавливает заголовки управления кешем для изображений JPEG

Я не могу понять, почему простые старые изображения 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 в порядке, но заголовки управления кешем отсутствуют, и я не могу понять, почему.


person Marcel    schedule 01.03.2011    source источник


Ответы (1)


Я добавил no-transform в раздел mod_headers и, конечно же, все работает, как и ожидалось. Теперь я могу дать стене отдохнуть от моего лба.

  <IfModule mod_headers.c>
    Header append Cache-Control "public, no-transform"
  </IfModule>
person Marcel    schedule 01.03.2011