Задание определеного интервала для типов файлов
<ifModule mod_headers.c>
# Все html и htm файлы будут храниться в кэше браузера один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
# Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Все флэш файлы и изображения будут храниться в кэше браузера один месяц
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
Через модуль mod_expires - Apache HTTP Server Version 2.4+
Этот модуль контролирует настройку Expires HTTP заголовка и максимального возраста директивы заголовка Cache-Control HTTP в ответах сервера. Дату окончания срока действия можно установить относительно: либо времени исходного файла; либо ко времени доступа клиента.
Эти заголовки HTTP являются инструкциями клиенту о достоверности сохранения документа в кэше.
<ifModule mod_headers.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
# Включаем кэширование изображений и флэш на месяц
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
# Включаем кэширование css, javascript и текстовых файлов на одну неделю
ExpiresByType text/css "access plus 3600 seconds"
ExpiresByType text/javascript "access plus 3600 seconds"
ExpiresByType application/javascript "access plus 3600 seconds"
ExpiresByType application/x-javascript "access plus 3600 seconds"
# Включаем кэширование html и htm файлов на один день
ExpiresByType text/html "access plus 43200 seconds"
# Включаем кэширование xml файлов на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>