Переадресация на основной домен в Drupal

Данный подход скорее полезен как демонстрация инструментария, чем действительно реализация редиректа на основной домен. Потому что лучше это делать средствами сервера, а не ПО, чтобы уменьшить нагрузку на сервер.

Drupal 8 работает на базе симфонии, а та реализует т.н. очередь событий ядра, которые возникают в течении процесса обработки запроса (request).

Во 2й версии Symfony доступны следующие события ядра:

  • KernelEvents::CONTROLLER — Возникает, когда найден контроллер для обработки запроса
  • KernelEvents::EXCEPTION — …, когда случается EXCEPTION, у которого нет обработки.
  • KernelEvents::FINISH_REQUEST — …, когда ответ на запрос уже сформирован и готов к отправке.
  • KernelEvents::REQUEST — … в самом начале получения запроса.
  • KernelEvents::RESPONSE — … сразу после создания ответа на запрос.
  • KernelEvents::TERMINATE — … как только ответ был отправлен.
  • KernelEvents::VIEW — …, если возвращаемое значение контроллера не является экземпляром Response.

Нам нужно зацепиться за KernelEvents::REQUEST, чтобы сформировать требуемый редирект. Реализуется это через создание подписки на события.

В исходниках вашего модуля (/src) добавьте следующий класс src/EventSubscriber.php:

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

Удаление неиспользуемых файлов в Drupal

Октябрь 17, 2024 г.

Особенно полезно, когда вы использовали проект как шаблон для другого сайта и надо почистить данные. Друпал хоть и показывает статистику использования файлов, но удалять файлы не позволяет из реестра /admin/content/files. Напишем небольшой скрипт, ...

Читать

Как удалить объявленный ранее @RestResource

Июль 12, 2023 г.

Сначала вы создали в Drupal rest ресурс - /Plugin/rest/resource, поработали с ним, а потом пришло время прощаться. Но вот проблема - система уже знает о ресурсе, и если вы удалите файл, то при попытке зайти в админ панель расширений /admin/modules, вы ...

Читать

Делаем выгрузку xml для яндекс маркет

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

Ключевая особенность в том, что данные выгружаются из Drupal Commerce. Первое, что понадобится - это настроить какой то route, а потом мы напишем для него контроллер. Маршрут можно добавить в какой то кастомный модуль, выглядеть он может следующим ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

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

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



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