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

1

Я спросил своего хозяина, поддерживают ли они 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 ​​сказал мне то же самое. Посмотрите следующий снимок экрана:

Изображение 174551

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

Изменить ##

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

Теги:
cakephp
caching
.htaccess
cakephp-1.3

1 ответ

1
Лучший ответ

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

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

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

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

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

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню