Реализация управления кешем с помощью .htaccess на сервере Apache - PullRequest
6 голосов
/ 06 января 2011

хорошо, я все еще пытаюсь разобраться с некоторыми вещами кеширования, и я просмотрел несколько примеров, которые я мог найти в 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 и инструмент YSlow Firebug, похоже, что это кэширует некоторые из моих изображений / файлов, но далеко не все из них. У меня все еще есть список файлов (.jpg, .js и .css - я знаю, что я не устанавливал здесь файлы css для кэширования), которые не кэшируются. Сообщение в аудите Chrome просто гласит The following resources are missing a cache expiration. Resources that do not specify an expiration may not be cached by browsers:

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

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

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

1 Ответ

9 голосов
/ 12 апреля 2011

Похоже, вы неправильно написали 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"
...