заголовки кэша для динамической CSS (сгенерированный через PHP)

Мой файл CSS является acutally файлом PHP, который подается с типом контента text/css так, чтобы я мог использовать переменные PHP в том файле. style.php похож на это:

<?php
header('Content-Type: text/css');
$bgColor = '#000';
?>

body { background:<?php print $bgColor; ?>; }

Это работает как ожидалось, но я немного волнуюсь если кэши браузера динамично созданный файл CSS.

При рассмотрении запросов в поджигателе мне кажется, что браузер загружается style.php снова каждый раз я перезагружаю страницу.

Я уже попытался добавить эти заголовки кэша:

header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60 * 60 * 24) . ' GMT');

Но никакая удача. Файл все еще загружается каждый раз, страница загружается. Каковы соответствующие заголовки, чтобы вынудить браузер кэшировать файл для определенного количества времени?

7
задан Max 7 March 2010 в 08:16
поделиться

1 ответ

Если вы хотите, чтобы файл кэшировался браузерами, вы должны установить заголовок Cache-control на public:

header('Cache-control: public');

must-revalidate означает, что браузер будет проверять, был ли файл обновлен, что вызовет ваш PHP скрипт.

2
ответ дан 7 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: