Реализация Cache Control, используя .htaccess на сервере Apache

StackOverflow https://stackoverflow.com/questions/4619261

  •  30-09-2019
  •  | 
  •  

Вопрос

Хорошо, я все еще пытаюсь вернуть голову некоторыми из кеширования, и я прошел через пару примеров, которые я мог найти в Google. Я добавил следующий код в мой файл .htaccess:

### activate mod_expires
ExpiresActive On
### Expire .gif's 1 month from when they're accessed
ExpiresByType image/gif "access plus 3 months"
ExpiresByType image/png "access plus 3 months"
ExpiresByType image/jpg "access plus 3 months"
ExpiresByType text/javascript "access plus 3 months"

Используя инструменты Chrome Audit и инструмент для FireBug YSLOW, похоже, что это кэширует некоторые из моих изображений / файлов, но не всеми из них. У меня все еще есть список файлов (.jpg, .js and αss - я знаю, что я не устанавливаю файлы CSS для кэширования здесь), которые не кэшируют. Сообщение в Chrome Audit просто утверждает The following resources are missing a cache expiration. Resources that do not specify an expiration may not be cached by browsers:

Некоторые из изображений, которые не кэшируют, не являются фоновыми изображениями, другие являются частью галереи JS, и они называются через JS - могут влиять, почему они не кэшируют?

Извините, я не могу дать ссылку на код - сайты по-прежнему находятся в обертываниях и ограничены только видом на клиенту.

Заранее спасибо!

Это было полезно?

Решение

Похоже, вы написали неправильные типы MIME:

# enable expirations
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/pjpeg "access plus 1 week"
ExpiresByType text/javascript "modification plus 1 week"
ExpiresByType application/javascript "modification plus 1 week"
ExpiresByType text/css "modification plus 1 week"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top