Переадресация на основной домен в 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:

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

The installed version of the /Имя модуля/ module is too old to update

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

При выполнении drush updb вы можете увидеть такое сообщение. Обычно это связано с обновлением модуля до следующей major версии. Тогда в модуле может быть прописан hook_update_last_removed, где прописан номер hook_update, ниже которого номерные ...

Читать

Подключить скрипт / библиотеку в шаблоне twig

Ноябрь 5, 2023 г.

Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости. От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...

Читать

Получить список типов товаров в Drupal Commerce

Июль 23, 2023 г.

В терминологии Drupal, типы товаров это - бандлы (bundle) сущности commerce_product. Получить их список можно вот так: [crayon-6a8d6cec53832935932227/] Как результат, в $product_types вы получите массив типов товаров, где ключом является ...

Читать

Как получить код языка по умолчанию в Drupal

Июль 4, 2025 г.

В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ: [crayon-6a8d6cec539d5819821568/] Подробности запроса: \Drupal::languageManager() — обращение ...

Читать
 

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

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



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