PHP управление кешем не работает - PullRequest
3 голосов
/ 28 мая 2011

Пожалуйста, посмотрите на мой сайт: Vynora

Это еще не закончено. Я поместил заголовок PHP в верхней части моей HTML-страницы:

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>
<?php
  header("Cache-Control: max-age=6000");
?>

Когда я захожу на скорость страниц в Google, он говорит мне, что я должен оптимизировать кеш браузера, пожалуйста, посмотрите: Скорость страниц Google

Но я уже использовал PHP,Так как это возможно?

Ответы [ 3 ]

2 голосов
/ 28 мая 2011

Проблема не на этой странице и не в PHP-скриптах. См. Предложения Google:

Следующие кешируемые ресурсы имеют короткая свежесть жизни. Укажите истечение не менее одной недели в будущее за следующими ресурсами:

Это означает, что вы должны кэшировать ваши статические файлы.
Как я вижу, вы используете Apache. В этом случае вы можете использовать mod_expires

Например, вы можете добавить в .htaccess файл следующие строки:

ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 86400 seconds"
ExpiresByType application/x-javascript "access plus 86400 seconds"
1 голос
/ 28 мая 2011

Это может не сработать, потому что перед заголовком () возможны пробелы.Попробуйте это так:

<?php 
    if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
        ob_start("ob_gzhandler"); 
    } else {
        ob_start();
    }
    header("Cache-Control: max-age=6000");
?>

Вы должны также установить заголовок с истекшим сроком, потому что старые браузеры не понимают "max-age".

Кстати: ваш сервер в настоящее время отправляет "максимальный возраст: 0 ".

1 голос
/ 28 мая 2011

Для кэширования страницы в браузере пользователя добавьте заголовки тезисов:

header("Cache-Control: private, max-age=6000, pre-check=6000");
header("Pragma: private");
header("Expires: " . gmdate("D, d M Y H:i:s"). " GMT");

GZIP:

http://www.whatsmyip.org/http_compression/?url=aHR0cDovL3d3dy52eW5vcmEuY29tLw==

говорит, что его сжали

http://redbot.org/?uri=http%3A%2F%2Fwww.vynora.com%2F

говорит, что его сжали

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...