Отправляем заголовки Last-Modified и Not Modified

Написал небольшой плагинчик для отправки браузеру заголовка Last-Modified и, если браузер спросит If modified since — ответа 304 Not Modified
Для удобства оформил в пакет и добавил в репозиторий. Пакет называется modLastModified.

К сожалению, плагин не может знать, какие сниппеты вы вызываете на странице — он смотрит лишь на дату последнего редактирования ресурса. Поэтому использовать его стоит лишь на простеньких статичных сайтах. Или если SEO-шники очень просят)

Советую почитать комментарии к топику «last-modified + MS2».

Проще показать код, чем объяснить, что делает плагин)) https://github.com/ilyautkin/modLastModified
Илья Уткин
29 апреля 2014, 13:49
modx.pro
20
14 714
+3

Комментарии: 74

Василий Наумкин
29 апреля 2014, 21:11
0
Что даёт?

Какая разница по сравнению с полностью закешированной страницей, в милисекундах?
    Илья Уткин
    29 апреля 2014, 21:25
    0
    На самом деле я разницы не увидел. Даже не знаю, как заставить браузер сначала спрашивать If modified since у сервера. Но автоматические системы продвижения в своих рекомендациях указывают пункт, что у страниц сайта отсутствуют заголовки Last-Modified.

    У меня не получилось объяснить SEO-шникам, что этот параметр, скорее всего, не влияет на ранжирование сайта в поиске. Проще было сделать, чтобы сайт успешно проходил проверку. Главное, чтобы без вреда.
      Алексей Карташов
      30 апреля 2014, 07:27
      0
      У меня не получилось объяснить SEO-шникам, что этот параметр, скорее всего, не влияет на ранжирование сайта в поиске.
      При прочих равных ранжироваться сайт с такими заголовками будет лучше, чем такой же сайт, но без таких заголовков (по описанным ниже причинам). Ибо все любят, когда о них заботятся. И поисковые машины не исключение =)

      p.s. факт — о сути этих заголовков догадываются единицы. А seo-шники линко-закупаторы твердят о необходимости этих заголовков как мантру, совершенно не понимая их значения.
      seo-шники такие seo-шники — они вообще мало о чём догадываются)
        Mihan
        30 апреля 2014, 12:48
        0
        Не бывает равных условий для двух и более сайтов, как и нет абсолютно идентичных сайтов. Поэтому last-modified считаю не самым важным фактором.

        Но чтобы стремиться к идеальному сайту, можно сделать.
          Алексей Карташов
          30 апреля 2014, 12:55
          0
          Не бывает равных условий для двух и более сайтов, как и нет абсолютно идентичных сайтов
          Конечно не бывает.

          Поэтому last-modified считаю не самым важным фактором.
          Ваше право.

          p.s. забавляют меня такие ничем не подкрепленные утверждения. Прям Верю-Не верю. «Считаю так и всё тут». Больше похоже на образ мышления средне-рядового seo-шника линко-закупатора. Технарям подобные рассуждения не позволительны.
            Mihan
            30 апреля 2014, 13:17
            0
            Вы считаете себя технарем?) Ваши утверждения чем-нибудь подкреплены?)

            Как только робот делает запрос на страницу, у него появляется инфа о размере страницы. Если она отличается от предыдущего — то ясень пень, что-то на странице было изменено. Нет?
              Алексей
              30 апреля 2014, 13:21
              +2
              Вообще — нет. Если поменять пару опечаток — то размер будет прежним. Для этого используется заголовок etag — в nginx где-то можно настроить его так, чтобы он считался не из даты последнего редактирования документа (last-modiffied) и размера документа, а из md5 суммы. Вот тогда, даже при одинаковом размере страницы, робот поймет что в ней что-то изменилось.
                Mihan
                30 апреля 2014, 14:15
                0
                Отлично. Согласен с этим утверждением.
                Алексей Карташов
                30 апреля 2014, 14:06
                0
                Вы считаете себя технарем?
                Даже комментировать не стану.

                Ваши утверждения чем-нибудь подкреплены?
                Да, я эту гипотезу проверял. Несколько месяцев стагнирующий (с т.з. seo-показателей) сайт, после настройки lmims-заголовков, подрос в позициях и трафике.
                Естесственно, каждый случай уникальный и, что помогло одному, не поможет другому (если попадётся ещё какой-нибудь стагнирующую сайт — проведу ещё эксперимент.)
                С тех пор ставлю на каждый сайт — жалоб, как вы понимаете, не было.

                Технарь не должен принимать утверждение на веру. Любую гипотезу надо экспериментально доказывать.
                Я гипотезу проверил и в ней уверен. А вы?
                Очевидно, что экспериментов вы не проводили, но доказываете мне, что я не прав. Прям как типичный seo'шник-гуманитарий (только без обид, пожалуйста. Это только для примера, как делать не нужно).

                p.s. ну и кто из нас технарь?? а? А?! АА?! =)
                  Mihan
                  30 апреля 2014, 14:14
                  -2
                  Если вы технарь, то провели бы более чистый эксперимент на большой выборке сайтов и в разных условиях. А то, что вы что-то там сделали и увидели изменения, это могло быть что-угодно, например, возраст сайта!

                  А вы успокойтесь, слюней не брызгайте, я не сеошник. Школу закончите, если в институт попадете, узнаете что такое эксперименты и как их правильно ставить.
                    Алексей Карташов
                    30 апреля 2014, 14:45
                    0
                    провели бы более чистый эксперимент на большой выборке сайтов и в разных условиях
                    Никто не говорил, что выборка репрезентативна и статистически значима.
                    Я говорил о наблюдении, при котором стагнирующий несколько месяцев сайт, после настройки заголовков, через один апдейт улучшил свои позиции в поиске и набрал в трафике. Конечно же, это чистое совпадение, lmims-заголовки здесь не причём, а сыграли какие-то другие факторы.
                    Если в будущем будут возможности для новых экспериментов (читай — подходящие сайты) — будут эксперименты.

                    это могло быть что-угодно, например, возраст сайта!
                    Я удивлён, что это возражение не стояло первым в вашем списке. Обычно именно такие доводы приводятся в качестве отрицания seo-эксперимента. Так что ж — теперь вообще никаких экспериментов не проводить?

                    А вы успокойтесь, слюней не брызгайте, я не сеошник. Школу закончите, если в институт попадете, узнаете что такое эксперименты и как их правильно ставить.
                    =) Ок, завтра учительницу по физике попрошу рассказать, как правильно проводить эксперименты)
                    Если это из-за постскриптума, то вам бы чувства юмора немного не помешало — там смайлик был и это, вроде как, шутка была такая =)
                    И ведь не имею ничего против вас, и даже попросил вас не обижаться, ибо это только для примера было сказано, но всё-равно — скатились до личных оскорблений. Ай-яй-яй)


                    p.s. и да, минус — не мой, если вы решите аппелировать к этому факту =)
                      Алексей Карташов
                      30 апреля 2014, 14:55
                      +3
                      Перечитал свою писанину — и правда местами грубовато вышло.
                      Если чем-то обидел — извините, не хотел.
          Алексей Карташов
          30 апреля 2014, 07:17
          0
          Этот заголовок нужен поисковым роботам, особенно гугловскому.
          Дело в том, что поисковый робот при первом посещении страницы запоминает для себя дату последней модификации страницы (если, конечно такой заголовок есть).
          В следующий раз, когда бот зайдёт на эту страницу для переиндексации, он сперва спросит наш сервер — изменилась ли страница с той самой даты, когда он был здесь последний раз? Тело страницы он не запрашивает, только заголовки. Если нет — он пойдёт гулять дальше. Если да — заново загрузит страницу, обновит свои данные о ней и отправит на анализ на гугловские сервера.

          И вот здесь самая суть — при правильно настроенных заголовках это реальная экономия как трафика, так и нагрузки на сервера — как гугловские (не нужно повторно обрабатывать страницу и отправлять её на анализ, если она не изменилась), так и нашего сервера. А гугло-бот безумно прожорливый. Поэтому один маленький заголовок (на который никто никогда не обращает внимания) так сильно важен поисковым машинам. Ибо они реально экономят процессорное время и свои мощностЯ. Поэтому они так трепетно к нему относятся. Поэтому это может неплохо сказаться на дальнейшем ранжировании (правда, если сайт говно по остальным паре десятков параметров, то это не поможет).

          Браузер может (на своё усмотрение) действовать абсолютно также, если у него в кэше полностью лежит эта страница.
          Только будьте внимательны, проверяя из браузера — когда запущен DevTools или Firebug, браузер перестаёт посылать запрос If-Modified-Since для удобства разработки. Поэтому надо проверять через вот этот сервис, на который выше ссылался Илья.
          Алексей Карташов
          30 апреля 2014, 07:01
          2
          +4
          Выводить Last-Modified в MODX'е исходя из даты редактирования документа — абсолютно бесполезное и бессмысленное занятие.

          Поэтому, держи — github.com/antixrist/lmims

          Этому плагину абсолютно фиолетово какие сниппеты/чанки/etc. есть на странице — всё корректно отработается и корректно выведется.
          Точных цифр по замеру не помню, но разница в скорости совершенно не существенная.
          Только пакет надо собрать самостоятельно (хз, куда я собранный дел) — там всё прописанно, осталось только в корень сайта закинуть все папки из репозитория и из браузера запустить файл _build/lmims/build.transport.php

          P.S. давно уж хотел выложить — да забыл про него совсем. Если SD выложит в репозиторий — будет супер =)
            Василий Наумкин
            30 апреля 2014, 15:04
            +1
            Если SD выложит в репозиторий — будет супер =)
            Если пришлешь мне готовый пакет и напишешь что-то про него в репозиторий docs.modx.pro — конечно.
              Илья
              30 апреля 2014, 15:10
              0
              Алексей Карташов сделай! Очень надо, будь другом )))
              Wassi Wassinen
              02 мая 2014, 15:08
              0
              Так я и не понял — он у тебя какую дату отдает? Что является признаком последней даты модификации?
              При проверке через last-modified.com/ru/ я получаю ласт модифед тем же временем, что и проверка и время отстает на 4 часа (видимо, часовой пояс "+4" не подхватывает).
                Илья Уткин
                02 мая 2014, 15:20
                0
                  Wassi Wassinen
                  02 мая 2014, 15:44
                  0
                  У меня отдает время на четыре часа меньше. На бубунте время верное, модекс так же видит верную дату и время.
                Андрей
                05 января 2015, 14:26
                +1
                Здравствуйте Алексей!
                Осенью установил с Гитхаба Ваш пакет.
                Зависит это от пакета или нет не знаю, но перед Новым годом сайт полностью вылетел из выдачи Яндекса (даже главная страница). Санкции поисковика маловероятны, так как сайт продвигается только «белыми» методами. Предположил, что дело в настройках сайта. Отписал Платону, но вероятно из-за праздников ответ задерживается.

                Стал искать источник проблемы, выяснил, только то, что Last-Modified отдает с ошибкой (сервис last-modified.com/ru/):



                Last-Modified выдает 15 октября, а 304 Not Modified не отреагировал.
                Пакет инсталировал/деинсталировал, но результат не изменился.

                Может подскажите в какую сторону копать?
                  Алексей Карташов
                  05 января 2015, 14:53
                  0
                  Вот честно говоря, ни разу с таким поведением не сталкивался. И до этого подобных жалоб не было. Так что тут что-то уникальное исключительно для вашего сайта.
                  Логика отдачи заголовка проста как топор и нарушений в её работе добиться очень сложно. Может из-за nginx'а что-то.
                  Единственное, что могу посоветовать, — попробовать на другом хостинге протестировать (только аккуратно, чтобы поисковики не успели тестовый сайт проиндексировать), на каком-нибудь из рекомендуемых для modx. Если ошибка повторится, то дело в сайте, надо будет копать глубже.

                  А по поводу вылета из индекса…
                  С одной стороны не на столько это критичная ошибка и не на столько критичный фактор, чтобы весь сайт из индекса выкидывать.
                  С другой — этих роботов, порой, хер поймёшь. У АГС'а тоже есть статистический процент ошибок. Тут только ответа Платона ждать.
                  А в вебмастере смотрели? Там может быть что-то на эту тему, если есть проблемы с индексацией.

                  А на данный момент, просто выключите плагин. Если это мешало индексации, то пара хороших ссылок с твиттера и зайдёт обратно, никуда не денется. Но сперва дождитесь ответа Платона.
                    Андрей
                    05 января 2015, 16:16
                    0
                    На другом хостинге попробую.

                    В вебмастере пишет «Страниц в поиске» — 0
                    «Последнее посещение роботом» — 04.01.2015

                    Плагин отключил.

                    Сайт всегда индексировался отлично — страницы влетали в поиск в течение нескольких минут.

                    Если проблема прояснится отпишусь…
                      Андрей
                      07 января 2015, 14:30
                      +1
                      Попробовал сейчас на другой хостинг сайт загрузить, при загрузки баз данных произошла ошибка, как раз оборвалось на загрузке таблиц компонента Imims:

                        Алексей Карташов
                        07 января 2015, 15:17
                        0
                        Ну, судя по всему, в созданном бекапе не экранированы какие-то спец.символы, которые в исходном html'е есть.

                        Надо переписывать, чтоб не голый html в базе хранить, а хэш.

                        Вам сейчас эта таблица и не нужна. Просто переустановите компонент на тестовом сайте и тестируйте
                          Андрей
                          07 января 2015, 15:38
                          0
                          Надо переписывать, чтоб не голый html в базе хранить, а хэш
                          а это как?
                            Алексей Карташов
                            07 января 2015, 15:53
                            0
                            Это мне переписывать)

                            А вам сейчас просто переустановить расширение на тестовом сайте :-)
                    Володя
                    12 апреля 2015, 09:43
                    0
                    в составе ключа $_SERVER['REQUEST_URI'] github.com/antixrist/lmims/blob/master/core/components/lmims/elements/plugins/plugin.lmims.php#L10 получается что для одной и той же страницы с разными параметрами запроса в url имеем множество 'modLMIMS'. Незнаю правильно это или нет с точки зрения сео, но для среднего сайта в итоге таблица lmims вырастает до очень приличных размеров…
                      Алексей Карташов
                      12 апреля 2015, 09:45
                      0
                      Да, там надо переписать, чтобы не весь код в базе хранить, а только хеш от контента. И, соответственно, хэши и сравнивать. только у меня руки не доходят.
                        Dolce
                        30 июня 2016, 13:07
                        0
                        Здравствуйте. Очень интересно не доделали ли вы Ваш плагин?
                          Алексей Карташов
                          30 июня 2016, 13:14
                          +1
                          Приветствую!
                          Да, давно уж.
                          Сейчас там всё как надо работает, жалоб давно не было.
                            Dolce
                            30 июня 2016, 13:15
                            0
                            Огромное спасибо. Буду пробовать!
                              Алексей Карташов
                              30 июня 2016, 13:17
                              0
                              Не за что)
                                Dolce
                                02 июля 2016, 19:59
                                0
                                Здравствуйте. По тестировал несколько дней. Проверяю вот этим сервисом last-modified.com/ru/ — проверку проходит на отлично, но есть одно НО. Дата и время в ласт-модифай стоит та, которая была на момент запроса этой страницы

                                Хотя страница не менялась какое-то время… так на каждой странице. Как я понимаю, там должна стоять дата последнего изменения этой страницы или нет?
                                А вот при проверки HTTP-заголовков с помощью плагина для фаер фокс, вообще дата Unix Timestamp

                                Может быть так и должно быть и я не правильно понял?
                                  Dolce
                                  02 июля 2016, 20:46
                                  0
                                  Прошу прощение, на первом и втором скрине одна дата, не туда глянул вначале. В общем по идее же там должна быть дата, когда реально были изменения на странице?
                                  А вот внутренние страницы сайта дают такую дату
                                    Илья Уткин
                                    04 июля 2016, 10:25
                                    0
                                    Да, видимо какой-то глюк при генерации даты… Я давно уже не смотрел этот плагин. Попробуйте поставить lmims
                                      Dolce
                                      04 июля 2016, 11:20
                                      +1
                                      Так это он и есть. Вы же выше мне дали ссылку на гихаб
                                      В общем понаблюдал еще немного поведением плагина. На главной странице отдает 1970 год — если внести изменение в контент, то отдает настоящую дату сервера(на момент запроса страницы, то есть каждую секунду новое время), если изменения убрать, вернуть как было, то дата опять становится 1970 год, что очень странно. На внутренних страница при каждом запросе отдается время этого запроса, а не тогда когда реально была изменена страница. Очень и очень жалко, очнеь ценный плагин бы был, если бы работал корректно=(
                                      Павел Романов
                                      11 июля 2016, 13:23
                                      0
                                      Попробуйте в плагине на 17 строке заменить:
                                      $date = time();
                                      на:
                                      if($resource->editedon != 0){
                                          $date = $resource->editedon;
                                      } else {
                                          $date = $resource->createdon;
                                      }
                                      Ilya Ev
                                      11 июля 2016, 14:27
                                      0
                                      Реально очень странные даты выдает



                                      Ваше исправление не помогло похоже.

                                      Павел Романов
                                      11 июля 2016, 14:41
                                      0
                                      У Вас уже эта дата прописалась в таблицу плагина.
                                      Откройте эту страницу в браузере и проверьте потом ответ сервера.

                                      А лучше всего просто через phpMyAdmin очистить все записи в таблице modx_lmims и потом уже они сами туда добавятся по мере открывания страниц сайта.
                                      Ilya Ev
                                      11 июля 2016, 14:50
                                      +1
                                      очистил таблицу, изменил ресурс. При первой загрузке дата вроде верная при второй опять

                                      Last-Modified: Thu, 01 Jan 1970 00:33:36 GMT
                                      и

                                      Date: Mon, 11 Jul 2016 11:50:04 GMT
                                      Время запроса страницы.
                                      Павел Романов
                                      11 июля 2016, 14:53
                                      0
                                      А если эту страницу отредактировать и сохранить?
                                      Ilya Ev
                                      11 июля 2016, 14:57
                                      0
                                      тоже самое, при первом запросе вроде нормально, потом опять 1970 год.
                                      Павел Романов
                                      11 июля 2016, 16:54
                                      0
                                      Проверил на нескольких сайтах и хостингах.
                                      Действительно где-то работает нормально, где-то нет. Связано с тем, что чтение из базы в 53 строке не везде отдает дату в UNIX-формате.
                                      В качестве костыля попробуйте заменить эту строку:
                                      $lmimsDate = $lmims->get('date');
                                      на эту:
                                      $lmimsDate = strtotime($lmims->get('date'));
                                      Ilya Ev
                                      11 июля 2016, 19:43
                                      0
                                      Да это помогло, спасибо
                                      Но вот вопрос



                                      Красным выделено Почему Expires 1981 год?)

                                      А синим это время запроса как я понял.
                                      Dolce
                                      12 июля 2016, 15:34
                                      0
                                      Это дата рождения какого-то человека, правда не помню кого именно. Это нормально, поисковые боты это понимают
                                      Dolce
                                      12 июля 2016, 15:38
                                      0
                                      if($resource->editedon != 0){
                                      $date = $resource->editedon;
                                      } else {
                                      $date = $resource->createdon;
                                      }
                                      Так делать нежелательно. Туда будет прилетать дата, когда редактировали ресурс и на этом смысл плагина теряется. Ведь туда нада давать дату когда изменялся контент на странице. Допустим это категория, в ней вывод товаров, у товара, вложенного в эту категорию изменяется цена или краткое описания, контент категории изменился, хотя напрямую категорию не редактировали.
                                      А вот это исправление помогло, спасибо!
                                      $lmimsDate = strtotime($lmims->get('date'));
                                      Dolce
                                      12 июля 2016, 16:17
                                      0
                                      Теперь в дате не 1970 год, а время запроса страницы, что опять же не годится(то есть каждую секунду новое)… как бы реально туда запихнуть время когда контент был изменен…
                                      Ilya Ev
                                      12 июля 2016, 20:57
                                      +1
                                      у меня нормально стало после правки последней

                                      $lmimsDate = strtotime($lmims->get('date'));
                                      Ilya Ev
                                      12 июля 2016, 21:31
                                      0
                                      и да может кому надо чтоб не было 1981 года ставим

                                      session.cache_limiter = public в php.ini
                                      Dolce
                                      13 июля 2016, 13:26
                                      1
                                      +1
                                      1981 год, это нормально. Вы пробовали запрашивать одну и туже страницу с периодичностью 10 секунд?
                                      Хоть убей, у меня там постоянно новая дата — дата запроса, минус несколько часов, сервер стоит в другой стране
                                      Ilya Ev
                                      13 июля 2016, 13:32
                                      0
                                      да пробовал. стоит дата последнего изменения. Так может у вас на странице изменения происходят, блоки динамические есть… типа новости и тд.
                                      Dolce
                                      13 июля 2016, 13:37
                                      0
                                      Нету. Это происходит на всех страницах сайта
                                      А вы вносили изменения вот эти?
                                      if($resource->editedon != 0){
                                      $date = $resource->editedon;
                                      } else {
                                      $date = $resource->createdon;
                                      }
                                      Ilya Ev
                                      13 июля 2016, 13:41
                                      0
                                      нет не вносил.

                                      Я вот что заметил



                                      Разная дата Last-Modified в двух колонках
                                      Dolce
                                      13 июля 2016, 20:37
                                      +1
                                      Там не должно быть заголовка Last-Modifled
                                      А вот Expires не правильный, лучше оставить его 81 годом, который прекрасно понимают роботы. А у вас роботу дают понять, что завтра документ теряет актуальность, он его может проигнорироват
                                      Paul B.
                                      17 октября 2016, 20:37
                                      0
                                      Привет!

                                      Мне тоже не помогли предложенные изменения. А у вас уже заработало?
                    Антон Филонов
                    16 сентября 2016, 13:44
                    0
                    Алексей, спасибо за пакет для modx.
                    Есть вопрос, у меня дата изменения отображается такая:
                    Last-Modified: Thu, 01 Jan 1970 00:33:36 GMT
                    я внес специально несколько изменений на страницу, но эта дата так и не меняется.
                    Что я делаю не так?

                    если поможет сайт: elevator-spb.ru
                      Антон Филонов
                      16 сентября 2016, 14:51
                      0
                      Все заработало после изменений из треда выше.
                    Stan Ezersky
                    17 сентября 2016, 12:48
                    0
                    Моё мнение, что такие вещи должны настраиваться на стороне сервера
                      Paul B.
                      17 октября 2016, 20:37
                      0
                      А можете подсказать, как это сделать на стороне сервера правильно?
                      Максим Кузнецов
                      16 февраля 2017, 15:40
                      1
                      +1
                      Небольшая сводка информации по работе lmims:
                      1. Дополнение работает с https, а вот представленный здесь сервис проверки last-modified.com/ru/ — нет. (рабочая альтернатива)
                      2. Дополнение перестает отдавать актуальную информацию, если на сайте используется MinifyX или любые сниппеты, возвращающие случайные переменные, как то:
                      — плейсхолдеры вида [^t^]
                      — любые функции рандома
                      — капча
                      — …

                      Способ решения проблемы:
                      — Заключаем актуальную информацию (без перечисленных элементов из пункта 2) в тег main:
                      <main role="main"></main>

                      — В плагине lmims заменяем строку
                      $hash = sha1($html);
                      на строку:
                      preg_match("'<main role=\"main\">(.*?)</main>'si", $html, $html_clear);
                          
                          if (strlen($html_clear[1]) > 0) {
                          	$hash = sha1($html_clear[1]);
                          }
                          else {
                          	$hash = sha1($html);
                          }

                      3. Вероятно, у плагина есть проблемы с возвращением результата при 404/403 ошибки.
                        Владимир
                        16 февраля 2017, 16:06
                        0
                        Спасибо, как раз очень кстати по заголовкам. Только с Vary: Accept-Encoding разобрался.
                        А в каком репозитарии lmims «правильный»? Есть тут и тут
                        Жаль в модсторе нет актуального.
                          Максим Кузнецов
                          16 февраля 2017, 16:27
                          0
                          Лично я взял исходники из первого варианта, второй не попадался на глаза. На первый взгляд выглядят одинаково, разве что табуляцией строк отличаются..)
                            Владимир
                            16 февраля 2017, 17:26
                            +1
                            Спросил Володю в скайпе, он предложил попробовать его lastModified
                            В его репозитарии rstore.pro/extras/
                            Я установил себе, проверяю этим сервисом redbot.org
                            Попробуй.
                              Максим Кузнецов
                              17 февраля 2017, 15:37
                              +1
                              Попробовал. Last-Modified возвращает не время последней модификации ресурса, а время сервера (попробуй пообновлять запросы через сервис проверки).
                                Владимир
                                17 февраля 2017, 15:39
                                +1
                                Да, плюс "… отдала время последней модификации, но не отреагировала на If-Modified-Since."
                                  Володя
                                  21 февраля 2017, 18:37
                                  +1
                                  сформулируйте чего не хватает, время будет поправлю. Спасибо!
                                    Владимир
                                    21 февраля 2017, 18:56
                                    0
                                    Спасибо! Сформулирую в ближайшее время.
                                Andrei
                                21 февраля 2017, 17:28
                                0
                                Скажите, пакет нужно просто установить и можно проверять или необходимы какие-то настройки дополнительно?
                                  Володя
                                  21 февраля 2017, 18:36
                                  +2
                                  просто установить
                            Максим Кузнецов
                            17 февраля 2017, 16:02
                            +1
                            UPD: также в дополнении выводятся форматы дат в разном виде (для свежесозданных документов — в timestamp, для уже созданных в формате даты), из-за чего в одном из случаев дата возвращается в виде 1970 года.

                            Решение:
                            — перед строкой
                            $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $lmimsDate);

                            -добавить:
                            if (!is_numeric($lmimsDate)) {
                            	$lmimsDate = strtotime($lmimsDate);
                            }
                            Александр
                            26 мая 2017, 12:28
                            0
                            Замена строки
                            $lmimsDate = $lmims->get('date');
                            на строку
                            $lmimsDate = strtotime($lmims->get('date'));
                            не дала результата.
                            Это
                            if (!is_numeric($lmimsDate)) {
                            	$lmimsDate = strtotime($lmimsDate);
                            }
                            я так понимаю, то же самое и это тоже не работает. Дата всё равно такая:
                            Last-Modified: Thu, 01 Jan 1970 00:33:37 GMT
                            При изменении ресурса или шаблона заголовок всегда один: HTTP/1.1 304 Not Modified

                            Это у всех так или только у меня? На сайте используется https, проверяю заголовки тут и тут.
                              Александр
                              03 июня 2017, 04:10
                              0
                              Не понял почему так, но простое внесение изменений в файл plugin.lmims.php не даёт результата, так как в кэше файл всё равно старый, как не обновляй кэш.
                              Помогло пересобирание транспортного пакета. Инструкция тут. Только предварительно нужно в файле /lmims/_build/build.config.php заменить все connectors-7rXt-B1s на connectors (а то пакет не собирётся) и заменить $lmimsDate = $lmims->get('date'); на $lmimsDate = strtotime($lmims->get('date')); в файле /lmims/core/components/lmims/elements/plugins/plugin.lmims.php
                              Александр
                              05 июня 2017, 14:18
                              0
                              После установки компонента «looked» в ответе сервера пропала строчка Last-Modified и ответ 304 Not Modified. После деинсталяции «looked» Last-Modified и 304 Not Modified так и не появились. До этого 2 дня всё было нормально.
                              Кто-нибудь сталкивался с подобным?
                                Александр
                                06 июня 2017, 17:33
                                0
                                Извиняюсь, это я туплю. «looked» здесь не при чём. Просто после сбора пакета через 2 дня удалил в корневой папке сайта папку с компонентом. А этого делать нельзя. Либо удалить можно, но в БД исправить одну строчку с адресом плагина на правильный. В общем кто в курсе, всё это знают)
                                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                74