ZakkMalin
@ZakkMalin
Designer

Насколько часто меняется Last-Modified?

Помогал одному человеку в вопросе Почему поисковики не видят title полностью?
Посоветовал ему посмотреть в сторону Last-Modified,
но не знаю правильно ли он написал код, что-бы дата не менялась при каждой генерации, а только при действительном изменении контента на странице, можете ли вы проинспектировать код который он предоставил на Smarty:
$LastModified_unix = strtotime(date("D, d M Y H:i:s", filectime($_SERVER['SCRIPT_FILENAME']))); 
$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);

Заранее спасибо!
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
megafax
@megafax
web-программист
filectime($_SERVER['SCRIPT_FILENAME'])
Вы считываете дату изменения файла, а не записи в базе или еще чего. Вам нужно понять какие элементы именно в контентной области могут меняться и брать их дату изменения.
Для статической страницы - максимальную дату изменения из всех текстовых блоков
Для каталога - максимальную дату изменения из всех элементов (либо ее фиксируем для самого каталога)
Для фильтра - всегда текущая
Для элемента - дата изменения элемента
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы