Дата изменения документа (Last-Modified)
| |
|
Некоторые поисковые системы, например "Яндекс", при добавлении пользователем сайта или отдельных
страниц для индексирования получают такое сообщение: "Внимание! Сервер не
выдает дату документа, поэтому в результатах поиска дата для него
показываться не будет."
Это означает, что при запросе документа веб-сервер в HTTP-заголовках не
выдает поле "Last-Modified" - дату и время последнего изменения документа.
Так может происходить в том случае, если речь идет о динамических страницах:
SSI, CGI-скриптах, страницах, написанных на PHP. Это достаточно логично с
точки зрения веб-сервера: контент, отдаваемый пользователю, фактически
создается в момент обращения к странице, поэтому дата модификации
непосредственно самого файла скрипта или SSI-страницы почти теряет
практический смысл.
Однако при желании можно сделать так, чтобы веб-сервер всегда выдавал
"Last-Modified" в HTTP-заголовках.
Для SSI-документов
Для "server-parsed" документов веб-cервер Apache будет выдавать
"Last-Modified" в том случае, если указана директива "XBitHack full"
(например, в файле .htaccess), и для файла, к которому происходит обращение,
выставлен атрибут "исполняемый" для группы (например, с помощью команды
"chmod g+x имя_файла", выполненной в Unix-shell).
Примечание: на тарифе "Экономный" директиву "XBitHack full" указывать
не нужно.
Для скриптов на языке PHP
Различные HTTP-заголовки в PHP-скриптах можно задавать с помощью функции
header(), которая должны вызываться до вывода каких-либо данных скриптом:
<?php
// текущее время
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-Type: text/html; charset=windows-1251");
?>
В данном примере помимо заголовка "Last-Modified" выдается кодировка
документа.
Для скриптов на языке Perl
Для Perl-скриптов используется аналогичный способ - с помощью команды
print нужные заголовки просто вставляются в документ:
#!/usr/local/bin/perl
use POSIX qw(strftime);
my $LM = strftime "%a, %e %b %Y %H:%M:%S GMT", gmtime(time());
print "Last-Modified: $LM\n";
print "Content-Type: text/html; charset=windows-1251\n\n";
В данном примере помимо заголовка "Last-Modified" выдается кодировка
документа.
Ссылки: