Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮

Всем превед!
Сегодня опять занялся проблемой кэширования ресурсов сайта на стороне клиента.
А именно: вся статика, типа CSS, картинок и обычных HTML страниц должна оставаться в кэше браузера на определенный нами срок и не напрягать лишний раз сервер.

Вроде бы все просто, но на деле оказалось не так.
Залез я на Гугловский PageSpeed и проверил наш сайт. Ругается: мол обеспечьте кэширование статики у клиента для скорости.

Выдавать средствами РНР нужные заголовки для статики - это тот еще геморой, невозможно к примеру вставлять картинки и стили напрямую, надо отдавать только через скрипт (а это лишний напряг для интерпретатора), ибо заголовки (header) надо давать ДО того, как в бравузер поступила хоть какая-то информация, посему, подобный ход сразу с негодованием отметаем.

В принципе, у нас в JohnCMS в файле .htaccess есть специальный наворот в виде блока

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A1209600
<FilesMatch \.php$>
ExpiresActive Off
</FilesMatch>
</IfModule>

это значит, что если у Апача имеется модуль expires, он будет задействован и сам выдаст все нужные заголовки, однако это почему то не работало. Я начал подозревать, что был криво написан конфиг для Expires (сам модуль у нас на сервере задействован) и бросился на раскопки Гугла...

В итоге исправить удалось, КАК, напишу ниже...