Странно получается, если положить код настройки заголовка Last-Modified в корневой документ то сайт реагирует на If-Modified-Since. но если настройки делать из шаблона то это не работает.
Кажется нужно редачить .htaccess
- файл в корне сайта site.com/test.php вот такой ответ
- Через шаблон /templates/... вот такой ответ
Сам код
$settings = $this->getSettingsContainer();
$LastModified_unix = 1294844676; // время последнего изменения страницы
$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);
Сервер - Apache