Реализация Cache Control, используя .htaccess на сервере Apache
-
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"