Реализовать возможность выдачи сервером информации о дате последнего изменения документа возможно несколькими способами. Среди таких способов можно отметить реализацию через код, добавленный в html файл, php файл или же через директивы, добавленные в файл .htaccess. Ниже приведены примеры каждого из способов, а так же варианты проверки корректности их выполнения.
Для реализации первого способа требуется добавить в html файл следующий метатег:
<meta http-equiv=»Last-Modified» content=»Sun, 17 Sep 2019 11:22:15 GMT»>
Для реализации второго способа требуется добавить в php файл следующие заголовки:
header(«Content-Type: text/html; charset=windows-1251»);
header(«Last-Modified: «.gmdate(«D, d M Y H:i:s»,time()-3600).» GMT»);
Для реализации третьего способа требуется добавить в файл .htaccess одни из следующих вариантов директив:
Первый вариант:
RewriteRule .* — [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* — [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
Второй вариант:
ExpiresActive on ExpiresByType text/html «access plus 5 day»
Третий вариант:
Header set Last-Modified «17 Jun 2019 10:00:00 GMT»
Выполнив один из представленных способов, следует проверить корректность отображения last modified.
Для этого существуют специальные сервисы, такие как http://last-modified.com/ru/if-modified-since.html
Помимо этого проверить корректность отображения last modified возможно при помощи специального php скрипта, указанного ниже, в котором требуется заменить значение переменной url на собственный адрес файла, по которому находится файл с данным скриптом:
<?php
$ch = curl_init();
$url = ‘http://site.com/last-modified.php’;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘If-Modified-Since: Sun, 01 Sep 2001 17:33:22 GMT’));
ob_start();
curl_exec ($ch);
curl_close ($ch);
$data = ob_get_contents();
ob_end_clean();
echo nl2br($data);
?>