Наверх

autoRedirector — Автоматический редирект при изменении адреса страницы

Представляю на суд публики дополнение autoRedirector, которое позволит вам не беспокоиться о том, что иногда адреса страниц меняются.

После установки плагин будет отслеживать изменение адресов страниц и записывать старые адреса в отдельную табличку. Если пользователь перейдет по одной из старых ссылок, плагин перенаправит его на актуальный адрес. В результате пользователь увидит искомую страничку, а не ошибку 404.

Любое автоматически созданное правило редиректа можно отредактировать вручную или удалить через специальный раздел в админке.

Дополнение доступно в репозитории Simple Dream:
store.simpledream.ru/packages/content/autoredirector.html

Кроме того, опубликовал и в официальном репозитории:
modx.com/extras/package/autoredirector

Документация: docs.modx.pro/components/autoredirector

Пробуем, тестируем, если что, в комментариях пишите о багах, ошибках и пр.


36 комментариев

  1. Владимир 06 марта 2014, 14:09 # 0
    Спасибо! Уже пометил как «must have» и вовсю использую!
    1. Владимир 19 апреля 2014, 00:24 # 0
      Илья! Позвольте обратиться с пожеланием. В новой версии autoRedirector, если можно, предусмотрите массовое удаление правил- отметить чекбоксы и удалить. Очень было бы кстати. Спасибо.
      1. Илья Уткин 19 апреля 2014, 11:13 # 0
        Попробуйте выделить строчки с зажатой клавишей Shift или Ctrl.
      2. Алексей 22 апреля 2014, 20:36 # 0
        Очень хорошее дополнение. Вот что радует — в отличии от «redirector» — (другое дополнение для modx) можно создать редирект с адреса прямо на id ресурса! давно ждал такого функционала в redirector'е, но, видимо буду пользоваться «autoRedirector»
        еще раз спасибо.

        Кстати, будет ли на этом сайте донэйт, как на безумкине?
        1. Илья Уткин 22 апреля 2014, 20:53 # 0
          В Redirector'e можно писать так: [[~76]]

          Донейт в ближайшее время вряд ли будет. Я еще не так активно развиваю сообщество.

          Хотите отблагодарить, делитесь статьями с моего сайта у себя в блоге, в твиттере, да хоть в контакте))(ссылки в футере)
          1. Алексей 22 апреля 2014, 23:33 # 0
            к сожалению, ни первым, ни вторым, ни третьим не пользуюсь. а скромное «спасибо» всетки хочется сказать…
        2. Евгений Епифанов 05 мая 2014, 15:40 # +1
          Стал пользоваться недавно. Отличное дополнения. Спасибо, Илья.
          Есть несколько предложений/замечаний (не считайте это придирками). Собственно пользовался до этого Redirector'ом, но в последних версиях какой-то баг появился — редиректы сами собой добавляются без моего участия, и перестала показываться 404 страница, всегда редирект на какой-то ресурс. Но это все не важно. Функционал там был полезный:
          — проверка добавляемого редиректа, т.е. если адрес уже ссылается на какой-то ресурс, то при добавлении того же адреса выводится ошибка (очень полезно при ручном добавлении)
          — отключение определенных редиректов, не удаление, а именно отключение.
          Вот эти приятности и хотелось бы увидеть в новых версиях.
          P.S. Это не критика, это предложения по развитию))
          1. Евгений Епифанов 12 октября 2014, 20:11 # 0
            Илья. Подскажите пожалуйста, можно ли как-то импортировать редиректы из Redirector в autoRedirector?
            1. Илья Уткин 13 октября 2014, 06:17 # 0
              Не знаю… В Redirector идет переадресация с одного адреса на другой (не важно, есть такой ресурс или нет), а autoRedirector просто записывает старые URL'ы и ставит им в соответствие конкретный id-шник ресурса.

              Я думаю, можно написать импорт, но у меня готового кода нет и я такой импорт не встречал, к сожалению.
            2. Анатолий 20 декабря 2014, 17:35 # 0
              Очень полезное дополнение. Но столкнулся с тем, что плагин autoRedirector'a не дает сохранить документ. Висит вечное «Пожалуйста подождите… Сохранение...». Документ при этом не сохраняется. В логах modx'a сообщений нет.
              Ошибка возникает при сохранении тех документов, у которых «Тип ресурса» установлен в нестандартное значение. Например, «Товар», и соответственно $class_key=='ShopmodxResourceProduct'.
              Вместо переменной $resource, есть $shopmodxresourceproduct.
              После отключения плагина, сохранение работает нормально.

              $resources = array(
                      $resource,
                      $modx->getObject('modResource',$resource->get('parent'))
              );
              1. Дмитрий 20 мая 2015, 20:48 # 0
                Здравствуйте! Проблема такая: Возможно из-за этого плагина не настроить 404 страницу и ни как не получается. Кто-нибудь встречал такое? Пользуюсь Redirector. Страница с id прописана и настроена в «Настройки системы». Но результата «0» ?????
                1. Илья Уткин 21 мая 2015, 07:14 # 0
                  Это другое дополнение. Просто названия похожие.
                  1. Тимур 08 июня 2015, 13:33 # 0
                    Илья, прошу прощения, посмотрите, пожалуйста, комментарий ниже
                2. Тимур 07 июня 2015, 09:29 # 0
                  Спасибо за дополнение, Илья!
                  Можно ли добавить редирект страниц с .html на страницы без расширения? (на старой версии сайта было расширение, теперь убрал, а страницы в поиске висят пока с расширением) И аналогично слеши в конце адресов убирать. (Было: site.ru/page/ Стало: site.ru/page)
                  1. Илья Уткин 08 июня 2015, 13:54 # 0
                    Я не знаю, как внедрить такой случай в отслеживание для дополнения, тем более в ближайшее время. Поэтому в autoRedirector'е такого не будет.

                    Но вы можете сами написать плагин, который будет делать редирект, если найдет html в URL
                    1. Тимур 08 июня 2015, 13:55 # 0
                      Спасибо.
                    2. Андрей 05 мая 2017, 18:04 # 0
                      Редирект такого типо прописывается в .htaccess либо в конфиге nginx=)
                    3. Сергей 24 июня 2015, 17:00 # 0
                      Добрый день!
                      Спасибо за дополнение, выручает.
                      Обнаружился у меня на сайте баг, когда копируешь ресурс то создаётся правило с нового ресурса на первоисточник.

                      помогите разобраться
                      1. Илья Уткин 25 июня 2015, 10:25 # 0
                        Добрый день.

                        Сейчас потестировал, у меня такого не наблюдается. Попробуйте поотключать другие плагины и проверить, повторяется ли этот баг. Возможно, есть какой-то конфликт плагинов…
                      2. Иван 30 августа 2015, 08:12(Комментарий был изменён) # 0
                        Что-то авторизация через логинзу не пашет :(

                        Если в урле есть гет-параметры редирект не отрабатывает и хотелось бы чтобы они переносились

                        site.ru/old_url/ — отрабатывает
                        site.ru/old_url/?utm_source=yandex — не отрабатывает
                        site.ru/new_url/?utm_source=yandex — сохраняем параметры
                        1. Илья Уткин 01 сентября 2015, 07:20 # 0
                          Я не знаю, как в плагине учесть такие параметры. Дело в том, что URL может быть и таким: site.ru/?id=5 и что — параметр id тоже не учитывать?
                          1. Иван 01 сентября 2015, 07:32 # 0
                            Может белый список в настройках или захардкодить utm метки?
                            1. Илья Уткин 01 сентября 2015, 08:51 # 0
                              Не знаю… К сожалению, пока некогда этим заниматься ((
                        2. Вероника 29 июня 2016, 18:27 # 0
                          Заметила такую странность. Стоит на 2 сайтах редирект. Если у первого замораживаешь контейнер — ресурсы подставляют в адрес его замороженное краткое имя. На втором сайте — нет. Сам ресурс отображается и замороженным юрл, а его дети — с полным. Хотя правила на эти ресурсы должны были прописаться. Не знаете от чего так? Журнал пуст.
                          1. Илья Уткин 30 июня 2016, 10:25 # 0
                            Ну autoRedirector тут не при чем — надо смотреть, как MODX генерирует URI. Сравните значения системных настроек. Например, use_frozen_parent_urisЕсли параметр включен, URI для дочерних ресурсов будет генерироваться с учётом «замороженного» URI родителя, игнорируя псевдонимы в дереве ресурсов.
                          2. Сергей 15 августа 2016, 13:34 # 0
                            Добрый день!
                            Спасибо за дополнение, выручает, но Баг так и не устранён, когда копируешь ресурс то создаётся правило с нового ресурса на первоисточник после того как нажать на кнопку сохранить в новом ресурсе. Проверил на 5 разных сайтах (могу дать доступ).
                            1. Илья Уткин 15 августа 2016, 13:42 # 0
                              Добрый день! Сейчас времени нет пока с этим разобраться. Опишите проблему здесь: github.com/ilyautkin/autoRedirector/issues — когда буду обновлять, посмотрю
                            2. Алексей Смирнов 05 сентября 2016, 12:12(Комментарий был изменён) # 0
                              Хм… как-то не сработала кирилица. В админ панели — вопросики вместо кирилицы. Печаль. modx R 2.4.2
                              1. Alex 30 марта 2017, 12:13 # 0
                                Есть сайт на MODX 2.5.1
                                3 языка через Babel — соответственно через контексты. Контекст web работает с плагином на отлично. А вот для других контекстов правило создает, но оно не работает. Кто-то знает куда смотреть?
                                1. Alex 30 марта 2017, 12:44 # 0
                                  Нашел вот еще решение:
                                  Если в правило вручную прописать перед ссылкой название контекста тогда работает. Пример: en/kontaktyi.html
                                  Но не хотелось бы что-то делать вручную, тем более что плагин называется autoRedirector. )
                                  Никто с таким не сталкивался?
                                  1. Илья Уткин 08 апреля 2017, 08:41 # 0
                                    Ну тут, конечно, универсальное решение создать вряд ли получится. Создайте копию плагина autoRedirector и допишите туда свою логику. Только такой выход я вижу.
                                    1. Alex DOM 08 апреля 2017, 10:23 # 0
                                      Илья, спасибо за ответ. Есть у меня идея для универсального, попробую как-то, проблема в том что я front-end специалист, и php знаю самую малость. Идея в том, что бы поставить условие if. Если контекст не web то добавлять в ссылку спереди cultureKey/url
                                      Вот пример, я правил руками и так работает:
                                      c2n.me/3JjvgAG
                                      Если получится сделать скину Вам код )
                                2. Вероника 16 июня 2017, 20:42 # 0
                                  А я столкнулась с такой штукой: есть мультидоменный сайт и заказчик попросил перенести один раздел из контекста в другой контекст. Редирект его не сохранил, вручную тоже, увы не редиректит. Вопрос — не конфликтует ли он с seo pro?
                                  1. Илья Уткин 17 июня 2017, 05:26(Комментарий был изменён) # 0
                                    Нет, не конфликтует. Просто перенос между контекстами компонент не редиректит. Тут надо прописывать правила в .htacces (или в конфигах nginx).
                                  2. Александр 04 сентября 2017, 11:31 # 0
                                    Столкнулся с проблемой: не работает редирект для урлов вида

                                    projects?tags%5B%5D=%F0%E5%E7%E5%F0%E2%ED%EE%E5%20%FD%ED%E5%F0%E3%EE%F1%ED%E0%E1%E6%E5%ED%E8%E5

                                    После переноса старого сайта, в поиске остались адреса. Попытался настроить редиректы и вот, не работает (
                                    1. Илья Уткин 04 сентября 2017, 11:47 # 0
                                      Попробуйте дополнение Redirector — всё-таки, autoRedirector больше направлен на работу с URL ресурсов.

                                    Авторизация

                                    через сервис Loginza:

                                    Подписка или RSS

                                    Буду присылать новые статьи — никакого спама



                                    Шаблоны MODX

                                    1 2 Дальше »

                                    Объектная
                                    модель
                                    MODX