Intereting Posts
Класс Workbench класса Laravel 4 не найден Как данные POST как индексированный массив массивов (без указания индексов) Ошибка SSL с завихрением PHP Как хранятся постоянные подключения к базе данных в PHP? Twig: пример интернационализации (i18n) запрос внутри цикла while показывает только 1 результат В чем разница между консервативным кешированием и прогрессивным кешированием в joomla 2.5? Использование переменной Javascript в шаблоне Twig с использованием платформы Silex Laravel требует расширения Mcrypt PHP преобразовать в трехзначный шестнадцатеричный код цвета Получить значение выбранного параметра из выпадающего списка в том же файле в php? Столбец «группа» каким-то образом вызывает синтаксическую ошибку В PHP сравните два массива, затем создайте новый массив на основе определенной структуры? Как получить доступ к переменной в классе PHP, заданной другой функцией? Codeigniter Как определить запрос перекрестного домена ajax в php

Использовать кеширование браузера и CakePHP

Я спросил своего хозяина, поддерживают ли они mod_expires или нет, они сказали мне, что он поддерживается. Я использую CakePHP, и я попробовал следующий код в webroot/.htaccess и `app_root / .htaccess, но скорость страницы Google является стильной, учитывая, что есть проблема с кешированием css, js, png, jpg и т. Д., Которые нашли их 24 часа! как показано на скриншоте ниже

 <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=31449600, public" </FilesMatch> 

Вышеприведенный код принят из этой статьи .

Также я использовал следующее:

 <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 year" ExpiresByType text/html "access 1 month" # ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 year" ExpiresByType text/javascript "access 1 year" ExpiresByType application/javascript "access 1 year" # ExpiresByType application/x-shockwave-flash "access 1 month" # ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 year" </IfModule> 

Также я попытался использовать оба кода друг с другом, но Google Speed ​​сказал мне то же самое. Посмотрите следующий снимок экрана:

введите описание изображения здесь

Мне нужно знать, как я могу решить эту проблему? !!

Редактировать##

Используя firebug в Firefox, я заметил, что в настройках кэша не учитываются только ресурсы в app/views/themed/slate/webroot , но те, которые находятся непосредственно в app/webroot , то есть без тематики, хорошо влияют.

Кажется, это ошибка в cakephp . В cakePHP 1.3+ объекты тематического представления были перенесены из app/webroot/themed/themeTitle в app/views/themed/themeTitle/webroot .

В соответствии с документацией CakePHP 1.3 вы можете восстановить старое место (т. Е. В основном webroot) тематических статических активов, создав app/webroot/theme/themeTitle

Связь со статическими активами несколько отличается от 1.2. Вы все равно можете использовать существующее приложение / webroot / themed и напрямую ссылаться на эти статические файлы. Следует отметить, что вам нужно будет использовать полный путь для привязки к активам в app / webroot / themed. Если вы хотите сохранить свои тематические ресурсы в приложении / webroot, рекомендуется переименовать app / webroot / themed в app / webroot / theme . Это позволит вам использовать базовый поиск вспомогательного пути. Помимо того, что преимущества производительности не обслуживают активы через PHP.

Итак, что я сделал для решения этой проблемы, это копирование всех файлов в app/views/themed/slate/webroot в app/webroot/theme/slate

Следующий снимок экрана из FireFox Firebug, который показывает, что файл изображения истекает через год в секундах:

введите описание изображения здесь