Вы не зашли.
Главная » PHP » If Modified Since DLE Интеграция
#1. Влад23 Off (0)
Участник
2013.12.16 15:03
Мало кто еще в курсе этой фишки (а кто и знает не относится к ней значительно) но если кто знает как интегрировать в DLE то может отпишемся.

Цитата
Правильно настроенный сервер должен возвращать код 304 Not Modified, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела страницы.
Проверить можно тут:

http://last-modified.com/ru/

И тут:

http://www.feedthebot.com/tools/if-modified/

Первая ссылка мне кажется работает корректней, там же можно увидеть результат работы википедии.
Отредактировано Влад23 (2013.12.17 09:09)
#2. Gemorroj Off (107)
Administrator
2013.12.16 17:05
не работал с dle. там есть какой-то базовый объект response?
#3. Влад23 Off (0)
Участник
2013.12.17 09:09
Сутки сидел читал документацию. Но так ничего толком и не добился. Знаю что при редактировании новости в DLE можно включить функцию что бы сервер отвечал что внесено изменение:
Last Modified Found.
Server Response HTTP/1.1 200 OK
HTTP/1.1 200 OK
Date: Tue, 17 Dec 2013 05:06:56 GMT
Автоматизировать это можно в файле: engine/inc/editnews.php (для админ панели, для быстрого редактирования хз, там где то примерно так же)

Цифру 1 изменить на 0:
Код:
if( $row['view_edit'] == '1' ) $view_edit_cheked = "checked";
Иначе приходится постоянно ставить галочку на Выводить информацию о том что новость отредактирована что бы указывался Last Modified.


Это значит что яндекс бот при заходе на сайт получает эту информацию и при следующим приходе шлет запрос If Modified Since и получает что то типа
Server Response HTTP/1.1 200 OK
HTTP/1.1 200 OK
Date: Tue, 17 Dec 2013 05:06:57 GMT
вместо
304 Not Modified
HTTP/1.1 304 Not Modified
На вэблансере, создал проект, человек 10 отозвалось, никто об этом не знал, только двое поняли что к чему, один пробовал сделать но что то не получается.


Получилось выводить только через мета-тег, но если Last Modified как то передает ответ не внедряясь в штмл, то и ответ 304 Not Modified должен как то из вне приходить ))


Файл : /engine/modules/gzip.php формирует Last Modified
Код:
if($_DOCUMENT_DATE)
{
@header ("Last-Modified: " . date('r', $_DOCUMENT_DATE) ." GMT");
}
Gemorroj написал:
не работал с dle. там есть какой-то базовый объект response?
Это не то Server Response HTTP/1.1 200 OK ?
Отредактировано Влад23 (2013.12.17 09:09)
#4. Gemorroj Off (107)
Administrator
2013.12.17 10:10
нет, я про другое. но как вижу из примеров кода - нет.
#5. Влад23 Off (0)
Участник
2013.12.17 12:12
а как он должен выгдядеть? я поищу
#6. Gemorroj Off (107)
Administrator
2013.12.17 12:12
вот так: https://github.com/symfony/HttpFoundation smile
можешь не искать, судя по всему в ядре не предусмотрено.
#7. Влад23 Off (0)
Участник
2013.12.17 16:04
печально, но почему же разработчик celsoft на вопрос можно ли это реализовать без перестроение движка, ответил что запросто.
#8. Gemorroj Off (107)
Administrator
2013.12.17 17:05
Влад23, ну очевидно же, что все можно реализовать без построения движка.
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.014 s