Стандартные параметры кеширования на хостинге
Для следующих MIME-типов установлен период кеширования 7 дней:
- image/*
- text/css
- application/x-javascript
- application/javascript
Для остальных типов — кеширование отключено. Переопределить параметры можно через файл .htaccess.
Пример файла .htaccess
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access 1 day" ExpiresByType text/javascript "access 2 day" ExpiresByType image/jpeg "access 3 day" <Files style.css> Header set Cache-Control "max-age=3600" </Files> </IfModule>
Здесь для всех типов файлов устанавливается период кеширования 1 день. Для типа text/javascript — 2 дня, для image/jpeg — 3 дня. Для файла style.css — 1 час.
В ExpiresByType можно указать любой MIME-тип.
Примеры использования директивы ExpiresByType
ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType image/gif "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType image/jpeg "access plus 1 day" ExpiresByType video/ogg "access plus 1 day" ExpiresByType audio/ogg "access plus 1 day" ExpiresByType video/mp4 "access plus 1 day" ExpiresByType video/webm "access plus 1 day" ExpiresByType text/x-component "access plus 1 day" ExpiresByType application/x-font-ttf "access plus 1 day" ExpiresByType font/opentype "access plus 1 day" ExpiresByType application/x-font-woff "access plus 1 day" ExpiresByType application/x-font-woff2 "access plus 1 day" ExpiresByType image/svg+xml "access plus 1 day" ExpiresByType application/vnd.ms-fontobject "access plus 1 day" ExpiresByType text/css "access plus 1 hour" ExpiresByType application/javascript "access plus 1 hour" ExpiresByType application/x-javascript "access plus 1 hour"
Описание параметров
Expires Default
Параметр ExpiresDefault устанавливает время кеширования по умолчанию. Если параметры кеширования уже установлены на сервере или определены на уровне виртуального хоста (.htaccess), то ExpireDefault будет переопределен.
Expires By Type
Параметр ExpiresByType устанавливает время кеширования для конкретного MIME-типа.
Пример конфигурации Nginx для контроля Expires
Сервера Nginx имеют другой формат данных и не используют файл .htaccess
server {
#...
location ~* \.(gif|ico|jpe?g|png)(\?[0-9]+)?$ {
expires 1w;
}
location ~* \.(css|js)$ {
expires 1d;
}
#...
}