Мой файл 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');
Но никакая удача. Файл все еще загружается каждый раз, страница загружается. Каковы соответствующие заголовки, чтобы вынудить браузер кэшировать файл для определенного количества времени?
Если вы хотите, чтобы файл кэшировался браузерами, вы должны установить заголовок Cache-control на public:
header('Cache-control: public');
must-revalidate означает, что браузер будет проверять, был ли файл обновлен, что вызовет ваш PHP скрипт.