mod_expires не устанавливает истечение для изображений (png, jpeg, gif)

Я использую это ниже конфигурации в моем apache2.conf

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif "access plus 6 month"
  ExpiresByType image/jpg "access plus 6 month"
  ExpiresByType image/jpeg "access plus 6 month"
  ExpiresByType text/javascript "access plus 6 month"
  ExpiresByType text/css "access plus 6 month"
  ExpiresDefault "access plus 6 month"

</IfModule>

Его работа для CSS и js

curl -I example.com/assests/css/global.css

 Expires: Wed, 14 Jan 2015 09:28:17 GMT

но когда я завихряюсь любой файл изображения

curl -I example.com/assets/images/banner-16-water-purifier.jpg 

Expires: Sun, 17 Aug 2014 09:29:10 GMT

Поскольку Вы видите для jped не работа. То же применяется с каждым изображением (jpeg/png/gif)

1
задан 19 July 2014 в 17:44
1 ответ

Ваша конфигурация выглядит правильно и проверяется на Apache 2.2.22. Проверьте, есть ли у вас директивы mod_expires (ExpiresByType или ExpiresDefault) в другом месте, которые переопределяют apache.conf.

Начните с любых .htaccess файлов в пути к изображениям, включая корневую веб-папку, /assets/ и /assets/images/. Если вы не отключили использование .htaccess в этих папках, директивы в .htaccess будут переопределять настройки, установленные в любом другом месте.

Далее проверьте файл виртуального хоста в /apache2/sites-available/, а затем любые другие конфигурационные файлы, включенные в apache2.conf, такие как /apache2/httpd.conf, /apache2/mods-available/expires.conf (если он существует), и любые файлы в /apache2/conf.d/.

Я столкнулся с чем-то подобным при добавлении директив mod_expire в конфигурацию виртуального хоста. Мне было интересно, почему он все еще показывает 30-дневный срок действия, когда я установил его на что-то другое, но потом заметил, что кэширующее программное обеспечение на сайте добавило ExpiresByType и ExpiresDefault в .htaccess файл.

1
ответ дан 4 December 2019 в 00:21

Теги

Похожие вопросы