@Silentium2015

Last-modified как настроить?

Как можно настроить Last-modified чтобы на главной странице он обновлялся раз в день,на внутренних 1 раз в неделю?
  • Вопрос задан
  • 685 просмотров
Пригласить эксперта
Ответы на вопрос 3
Neocaridina
@Neocaridina
самый скромный
Раз в день - выводить текущую дату с текущим днем/мес/год но статичным временем. + проверка на время в будущем или тупо 00:00:01 GMT. Или в пределах небольшого рандома в зависимости от текущего числа / дня недели...

На внутренних то же самое, только зацепиться за день недели.

пс:
Безопаснее просто проставить нужные lastmod в сайтмап.
Ответ написан
@Silentium2015 Автор вопроса
Ну это понятно, но как это реализовать на php?
Ответ написан
Комментировать
flexdrayv
@flexdrayv
FlexDrayv
Реализация на PHP
Код возвращает правильный заголовок LastModified ответа сервера.

//DATE Modifed
$date = new DateTime("2015-12-10"); // время последнего изменения страницы
$LastModified_unix = $date->format("U");
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
exit;
}
header('Last-Modified: '. $LastModified);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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