@Ganjubas_Original

Last-Modified и $_SERVER как это работает?

Есть задача настроить Last-Modified на сайте. Естественно идем на сайт last-modified.com и копируем код оттуда.
<?php
$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);
?>

Но он оказывается работать. вардампим на тестовой страничке $_ENV и $_SERVER. Узнаем, что первый вообще пуст, второй массив не содержит в себе переменной по ключу ['HTTP_IF_MODIFIED_SINCE'].
Тут вспоминаем, что есть другой сайт. на котором злосчастный Last-Modified работает как надо. Идем туда и видим там ровно такой же код как и приведенный выше. Вардампим там те же переменные и...
И там результат идентичен. Первый массив пуст, а во втором нету ничего по ключу ['HTTP_IF_MODIFIED_SINCE']. Почему тогда на одном сайте код работает и отдает нужный заголовок, а на другом нет?
  • Вопрос задан
  • 655 просмотров
Пригласить эксперта
Ответы на вопрос 1
romy4
@romy4
Exception handler
> Естественно идем на сайт
Естественно идти на сайт php.net и изучать там + изучать заголовки в википедии, а не на говносайте, который показывает хрень какую-то
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы