я использую код размещен ниже.
Он следует рекомендациям по скорости страницы Google.
Обратите внимание, что readfile
быстрее, чем include
поэтому следует использовать.
<?php
#$off = 0; # Set to a reasonable value later, say 3600 (1h);
$off = 604800; # Set to 1 week cache as suggested by google
$last_modified_time = filemtime('csscompressor.php');
$etag = md5_file('csscompressor.php');
ob_start("ob_gzhandler");
ob_start("compress");
header('Content-type: text/css; charset="utf-8"', true);
header("Cache-Control: private, x-gzip-ok=''");
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
header("Etag: $etag");
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $off) . " GMT");
// load css files
readfile("global.css");
readfile('jquery-theme.css');
// ...
?>
Вы также должны служить все CSS и страницы JAVASCRIPT так:
<script src="http://example.com/myjavascript.js?v=<?=$version=?>" ></script>
Переменная $version
контролируется вами. Он должен быть установлен в файле конфигурации всего сайта. Каждый раз, когда вы нажимаете обновление в реальном времени, вы можете просто изменить версию на одном месте, и все, кто видит новый контент, просто нажмут на него и не будут зависеть от кеша.
Какие заголовки кеширования вы отправляете? Установлен ли браузер для кэширования файлов? – Douglas
Вы можете запустить скрипт PHP один раз и сохранить вывод в виде файла на вашем сервере. Там меньше накладных расходов, и кеширование должно работать из коробки. – cbednarski