Установка правильного Last-Modified

Иногда требуется выставлять правильные заголовки для браузера, а так же для поисковых систем, в частности — дату изменения страницы Last-Modified. Если вы используете Apache в качестве веб-сервера, то проблема не возникает (существует возможность на уровне конфига частично решить проблему). В иных случаях следующий код поможет Вам в этом:

$date = time();
$last_modified = gmdate('D, d M Y H:i:s', $date) . ' GMT';
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
$if_modified_since = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ($if_modified_since == $last_modified) {
header('HTTP/1.0 304 Not Modified');
header('Cache-Control: max-age=86400, must-revalidate');
exit;
}
}
header('Cache-Control: max-age=86400, must-revalidate');
header('Last-Modified: ' . $last_modified);

Размещать код нужно тоже до начала выполнения других скриптов или до вывода любой информации.

Если вы используете WordPress — то вставлять данный код необходимо в header.php используемой темы 😉

Спасибо за решение Заметки PHP

HTTP