Кэширование статических файлов сайта через htaccess
- Подробности
- Категория: Технические моменты
- Просмотров: 8953
Так как скорость загрузки файлов отражается на продвижении, то уместно применять кэширование даже статических файлов и в данном случае, это будет происходить через служебный файл htaccess
Отметьте файлы, а вернее впишите их расширение, чтобы работать именно с ними и в кэш помещать именно их
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
В данном случае мы используем модуль Header веб-сервера Apache и задаем:
- max-age - время жизни кэшированных файлов, после которого будет происходить повторная загрузка файлов.
Используется конструкция filesMatch и получаемый от сервера заголовок CacheControl. Заголовок Header позволяет контролировать http запросы и ответы сервера. И теперь один раз скачав файлы, в следующий раз компьютер клиента уже не будет их грузить (а только через время max-age) - за счет этого и достигается увеличение в скорости загрузки страницы.
Для динамических страниц со сценариями, типа php - обычно отключают кэширование. Делаем это так, добавляем ниже конструкцию вида:
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
Кэширование статичных страниц на стороне браузера - expires модуль
Мы можем закешировать страницы сайта с помощью модуля expires. Это возможность контролировать http заголовки на стороне браузера, с возможностью задавать время жизни кэша. Также работаем с файлов htaccess:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/gif "access plus 2 months"
ExpiresByType image/jpeg "access plus 2 months"
</IfModule>
Тут мы активируем модуль, затем задаем время жизни кэша по умолчанию, а затем конкретно - для конкретных файлов, а именно для gif-файлов - 2 месяца и столько же для jpeg-файлов. Указывайте время в секундах, минутах, часах, днях, неделях, месяцах или даже годах - не возбраняется).
Какие еще файлы или mime-type точнее можно указать: image/x-icon image/jpeg image/png image/gif application/x-shockwave-flash text/css text/javascript application/javascript application/x-javascript text/html application/xhtml+xml
Теперь у вас уже явно не возникнет вопроса: Как кэшировать статические файлы сайта?)