Главная > PHP, SEO > Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах

Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах

Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах

<?php // Определяем дату модификации скрипта и выдаем Last-Modified $last_modified = filemtime($SCRIPT_FILENAME); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $last_modified) . ' GMT'); // Пытаемся получить содержимое If-Modified-Since foreach($_SERVER as $name => $value) { if($name == 'HTTP_IF_MODIFIED_SINCE') $modified_since = $value; } // Пытаемся преобразовать значение в Unix time if (isset($modified_since)) { $modified_since = strtotime(preg_replace('/;.*$/', '', $modified_since)); } else { $modified_since = 0; } // Сравниваем даты и выдаем заголовок, если требуется if ($last_modified <= $modified_since) { header('HTTP/1.1 304 Not Modified'); exit(); } ?> Спасибо, за разработанный скрипт, у себя мы его тоже закрепим. (avkuzmin.ru/2007/03/last-modified-if-modified-since-php.html)
Categories: PHP, SEO Tags: , , ,
1 звезда2 звезды3 звезды4 звезды5 звезд (Рейтинг отсутствует)

Loading...Loading...
  1. MisHel64
    4 Сентябрь 2012 в 23:47 | #1

    "foreach($_SERVER as $name => $value)" А зачем так сложно?
    if (array_key_exists('HTTP_IF_MODIFIED_SINCE',$_SERVER)) не по проще будет?
    Или еще проще if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])) ?

    И как бы $_SERVER['HTTP_CACHE_CONTROL] еще нужно посмотреть, прежде чем exit() делать.

  1. Пока что нет уведомлений.

Current month [email protected] day *


девять − 1 =

Heads up! You are attempting to upload an invalid image. If saved, this image will not display with your comment.