Кэширование скриптов в PHP не работает должным образом - PullRequest
0 голосов
/ 29 ноября 2010

У меня есть мой javascript в файле PHP со следующим кодом в верхней части файла.Идея состоит в том, чтобы сделать браузер кэширующим javascript и распаковать его так, чтобы он не загружался одним просмотром страницы, но при проверке веб-инспектора он возвращает 200 вместо 304 и, по-видимому, повторно загружает файл напросмотр каждой страницы.

<?php
@ob_start ("ob_gzhandler");
header("Last-Modified: Mon, 05 Nov 2010 01:00:00 GMT");
header("Expires: ".gmdate("D, d M Y H:i:s", time()+2592000)." GMT");
header("Cache-Control: max-age=2592000");
header("ETag: \"9097158e797a93a8e213c6c5c72a2a7c\"");
header("Content-type: application/x-javascript; charset=utf-8;");
?>

1 Ответ

1 голос
/ 29 ноября 2010

Скорее всего, ваш веб-сервер перезаписывает заголовки в зависимости от его конфигурации. php-файл обычно danymic и не должен кэшироваться. Не знаю, если вы используете mod_headers, mod_expires или что-то еще, но самой чистой идеей будет, вероятно, не печатать какие-либо заголовки в ваших скриптах, а обрабатывать заголовки кэширования конфигурацией веб-сервера, которую вы определяете в своей папке для статических файлов. Мэйби с помощью htaccess или чего-то еще.

...