Я спросил своего хозяина, поддерживают ли они 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, который показывает, что файл изображения истекает через год в секундах: