|
|
|
| В инструкции Яндекса можно прочесть следующее:
"настройте сервер на выдачу корректных заголовков ответов - если поступил запрос If-Modified-Since, то выдавать код 304, если страница с указанной в запросе даты не изменялась".
Как можно осуществить такую настройку? | |
|
|
|
|
|
|
|
для: Владимир55
(27.01.2012 в 19:08)
| | по моему яндекс хочет вообще не работать. Вернее работать ничего не делая. Это не только у яндекса голубая мечта =)
А по теме - на статичные файлы апач и так возвращает 304 если файл не изменился. А на динамические страницы для осуществления такой проверки , особенно если это форум или что-то еще такое же динамичное, для такой проверки нужно еще пол сайта написать. По крайней мере определить что и когда на страницу добавлено, а если на странице отображается инфа в обратном хронологическом порядке, то при добавлении сообщения на первую страницу меняются все последующие...... Короче это жесть. Яндекс по-моему этого не достоен.
Но если это статичная статья, которая точно не меняется с момента написания, но выдается через PHP, можете отдать ему
header("HTTP/1.1 304 Not modified");
|
| |
|
|
|
|
|
|
|
для: Sfinks
(27.01.2012 в 21:26)
| | Так:
<?php
header("HTTP/1.1 304 Not modified");
?>
<html>
<head>
<title>ПРимет</title>
</head>
<body>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Владимир55
(27.01.2012 в 22:33)
| | Так, боюсь, все-равно отошлет код 200... лучше бы эту проблему решить на уровне .htaccess и какого-нибудь модуля, будет надежнее. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 22:56)
| | А на уровне .htaccess как это сделать?
(Сайт без использования ЦМС). | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 22:56)
| | C ПХП это на уровне апача никак не решишь, т.к. изменилась страница или нет придется через БД проверять. | |
|
|
|
|
|
|
|
для: Sfinks
(27.01.2012 в 23:07)
| | C ПХП это на уровне апача никак не решишь
Можно на странице писать дату создания. Или в комментариях, или в специальных тегах, или напрямую (пусть посетители видят - не страшно). Так что, дата будет известна.
И что тогда? | |
|
|
|
|
|
|
|
для: Владимир55
(27.01.2012 в 23:21)
| | > Можно на странице писать дату создания. Или в комментариях, или в специальных
> тегах, или напрямую (пусть посетители видят - не страшно). Так что, дата будет известна.
А это уже с заголовком 304 никак не связано и яндекс не устроит. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 22:56)
| | Нет, я проверил, отсылает 304 и браузер верит и не обновляет....
Другой вопрос как узнать в ПХП, что яндекс послал "if modified" и дату....
Вот этого я пока не нашел. | |
|
|
|
|
|
|
|
для: Sfinks
(28.01.2012 в 00:23)
| | Другой вопрос как узнать в ПХП, что яндекс послал "if modified" и дату....
Может быть, так?
<?php
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
|
Нет, я проверил, отсылает 304 и браузер верит и не обновляет....
Какими средствами можно провести такую проверку? | |
|
|
|
|
|
|
|
для: Владимир55
(28.01.2012 в 09:19)
| | Проверять можно на сайте http://last-modified.com/ru/ | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 22:56)
| | Тема конечно старая, но может кому пригодится.
Чтобы не отсылал 200, нужно после отправки 304 заголовка сделать exit(). | |
|
|
|