У меня много файлов JS и CSS для моего сайта.Чтобы свести к минимуму запросы на подключение от браузеров, я объединяю их в один файл php.Я использую параметры заголовка для принудительного кэширования файлов.Вот как я это делаю для случая JS (CSS точно такой же):
<?php
ob_start("ob_gzhandler");
$expires= 60 * 60 * 24 * 14;
header('Pragma: public');
header('Cache-Control: max-age=' . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');
header('Content-type: text/javascript');
include('file1.js'); echo "\n\n\n";
include('file2.js'); echo "\n\n\n";
/* ... bla bla bla bla ... */
include('fileY.js'); echo "\n\n\n";
include('fileZ.js'); echo "\n\n\n";
ob_end_flush();
?>
В Firefox это прекрасно работает.Для остальной части планеты эти файлы не кэшируются!Оба они довольно большие, поэтому у меня есть раздражающий полсекундный белый экран, чтобы другие браузеры загружали их снова и снова для каждого запроса страницы.
Полагаю, это как-то связано с Content-Length заголовка,Я пробую 2-3 вещи, но не могу заставить это работать.Есть предложения?
Заранее спасибо.Любая помощь приветствуется.