Настройка редиректов в Drupal

Речь пойдет о модуле redirect, который, несмотря на свои простые функции, не всегда понятен редакторам сайта.

После установки модуля, на сайте появляется раздел с настройками переадресации. Он расположен вот тут:

/admin/config/search/redirect

При добавлении редиректа, вы указываете от куда (адрес на сайте) и куда (в том числе и адреса внешних ресурсов) произвести перенаправление.

Вот тут часто у редакторов возникает не понимание.

Редиректы не работают

Именно так редакторы описывают свой опыт.

Что на самом деле происходит. Пользователь пытается переадресовать существующую статью куда либо. Но Drupal не будет делать переадресации, если статья с адресом «от куда» существует. Будет показана именно эта статья, а переадресация не сработает.

Рассмотрим пример редиректа:

Если существует статья с alias /new/dennis-k-9-donation, то — увы — редиректа с этого url не будет. Но будут работать редиректы с производных адресов. Например, если вы добавите какой либо параметр к URL, то редирект сработает:

Можно также создать вот такое правило:

Здесь я заменил последний символ на звездочку. Такой редирект сработает даже при наличии статьи на сайте.

Но эти трюки я не рекомендую использовать, т.к. это из разряда побочных эффектов.

Вот правильный алгоритм настройки редикта, если статья с адресом «от куда» существует.

  • Статью следует снять с публикации (unpublish);
  • alias статьи нужно изменить (добавите какой нить суффикс вроде «-archive». Т.е. в нашем примере получится /new/dennis-k-9-donation-archive);
  • теперь можно задать редирект, используя адрес статьи, у нас это /new/dennis-k-9-donation, и редирект начнет работать.

Мало букафф? Читайте есчо !

Программное создание статьи с переводом в Drupal

Август 10, 2023 г.

Допустим, вы получаете следующие данные - заголовок, текст статьи, и теги. При этом данные поставляются на двух языках - 'ru' и 'en'. Вам требуется программно сохранить статью и её перевод. Я полагаю, что уже активирован модуль Content Translation, ...

Читать

Модификация тела письма перед отправкой в Drupal

Июнь 9, 2023 г.

Рассмотрим два варианта, как зацепиться к отправляемым письмам и внести туда свои изменения. Первый вариант заключается в прямом изменении тела письма перед отправкой. Для этого мы реализуем hook_mail_alter(&message). MAIL ALTER хук Переменная ...

Читать

Создание контроллера для скачивания файла в Drupal

Сентябрь 6, 2023 г.

Пример кода, реализующий endpoint скачиваемого файла. [crayon-6a1f199892885361934194/] Кроме контроллера, вам потребуется еще задать маршрут. Пример описания маршрута: [crayon-6a1f19989288d119296857/]

Читать

Получить код оригинального языка сущности в Drupal

Октябрь 18, 2023 г.

Сущность возвращает язык в контексте выбранного языка, но иногда нужно получить оригинальный язык node или другой entity. Вот так выглядит запрос в контексте: [crayon-6a1f199892a72388822537/] А так можно получить код языка оригинальной версии ...

Читать
 

Комментарии к «Настройка редиректов в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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