Установите для веб-кэширования одинаковую дату каждый месяц для всех пользователей. - PullRequest
0 голосов
/ 28 ноября 2011

В настоящее время у нас есть 1-месячный цикл разработки для нашего веб-сервиса. Можно ли установить заголовки, чтобы срок действия кэша истекал 1-го числа каждого месяца для всех пользователей? Я знаю, что мы можем установить дату окончания срока действия на 1-й следующий месяц каждый раз, когда мы делаем обновление, но я бы хотел более гибкое решение. Короче говоря, могу ли я каким-то образом это сделать?

header("Expires: 1st/month 05:00:00 GMT"); // Expires the 1st of every month for everybody

1 Ответ

2 голосов
/ 28 ноября 2011

Используйте код из этого другого вопроса StackOverflow , чтобы получить метку времени для первого дня следующего месяца:

$curMonth = date('n');
$curYear  = date('Y');

if ($curMonth == 12)
    $firstDayNextMonth = mktime(0, 0, 0, 0, 0, $curYear+1);
else
    $firstDayNextMonth = mktime(0, 0, 0, $curMonth+1, 1);

Затем используйте эту метку времени с date() для генерациидата в формате, требуемом заголовком HTTP Expires:

header('Expires: ' . date('D, d M Y', $firstDayNextMonth) . ' 05:00:00 GMT');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...