Я использую CakePHP с Apache2. Анализируя мои страницы с помощью инструмента PageSpeed от Google, я обнаружил две основные проблемы. Во-первых, я должен включить gzip-контент, а во-вторых, я должен использовать кэширование в браузере для изображений, javascript и css-файлов.
Я более или менее нашел, как это исправить, но это связано с изменением моего основного файла .htaccess. На самом деле это выглядит не так, как CakePHP, хотя бы потому, что этот .htaccess является частью дистрибутива CakePHP, и я должен помнить, чтобы сохранить его при смене версии. Есть ли лучший способ сделать это?
Во-первых, я могу исправить, поставив
php_value output_buffering On
php_value output_handler ob_gzhandler
я тоже пробовал
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript
</IfModule>
но я не увидел результатов с PageSpeed.
Для второго я сейчас использую
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType application/x-javascript A8640000
ExpiresByType text/javascript A8640000
ExpiresByType text/css A8640000
ExpiresByType image/png A8640000
</IfModule>
и это отчасти работает, хотя я все еще получаю сообщение "Следующие кэшируемые ресурсы имеют короткий срок действия свежести. Укажите срок действия по крайней мере один месяц в будущем для следующих ресурсов: бла-бла"