Заголовки Expires не работают: использование настроек из других источников - PullRequest
1 голос
/ 30 марта 2010

У меня есть PHP-скрипт, маскирующийся под JS, чтобы динамически включать и упаковывать различные JS-файлы в один файл.

У меня проблемы с получением его в кеш: заголовки, похоже, не хотят устанавливать.

$expires = 60*60*24*14;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

У меня это вверху скрипта. У меня тоже есть в .htaccess:

ExpiresByType application/x-javascript M2592000

Однако это не работает, и HTTP-ответ для файла выглядит следующим образом:

Date    Tue, 30 Mar 2010 15:54:52 GMT
Server  Apache
X-Powered-By    PHP/5.2.12
Pragma  no-cache
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires Thu, 19 Nov 1981 08:52:00 GMT
Vary    Accept-Encoding
Content-Encoding    gzip
Connection  close
Transfer-Encoding   chunked
Content-Type    application/x-javascript

Как я могу получить его для кэширования этого контента?

1 Ответ

1 голос
/ 06 апреля 2010

Я использовал переменную сеанса в сценарии. Сеанс session_start (), по-видимому, останавливает кэширование страницы, что имеет смысл, если вы подумаете об этом. Удаление session_start () заставило скрипт вести себя и стать кешируемым.

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