Строгая маршрутизация в Drupal 6,7

Что уж там говорить, Drupal грешит нестрогой машрутизацией. К примеру, вы создаёте маршрут /mypage, то Drupal направит к обработчику все запросы вида /mypage/subpage и /mypage/subpage/subpage2 и т.д.

Вы можете обратиться, к примеру, к публикации /node/100 также и по адресам /node/100/abaracadabra и т.п. По любому из бесчисленного числа адресов!

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

Это не страшно в плане SEO, т.к. можно в заголовках прописать —

настроить  карту сайта, да и поисковые машины будет склеивать такие дубли. Тем не менее ссылки по «неверным» адресам на ваш сайт могут постепенно накапливаться по разным причинам, и роботы их будут прилежно посещать.

Правильно в таких случаях показывать страницу с кодом 404.

Вся необходимая информация для анализа — избыточен ли URL или нет — может быть взята из таблицы menu_router. Проверку можно повесить на hook_init.

Пример писался для 7й версии. Мне кажется не очень сложно модифицировать и для 6ки. Смысл в том, чтобы строго проверить список известных маршрутов.

Это не всегда подходит для кастомных модулей, но частные случаи можно отсечь, добавив условия к

Что касается модулей из ядра, где все маршруты корректно внесены в реестр через hook_menu, тут никаких осечек не происходит.

Написать комментарий

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

Темизация существующей формы в Drupal

Март 26, 2016 г.

Form API в Drupal позволяет очень гибко работать с формами. Не важно где и в каком модуле была создана форма, вы всегда можете подключить собственный файл-шаблон или функцию темизации для модификации вывода этой формы. Как это сделать читайте далее. ...

Читать

Вставляем объект views в нужное место шаблона средствами PHP

Сентябрь 9, 2016 г.

Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути "только хардкор" и разработки на PHP на скользкую ...

Читать

 

Комментарии к «Строгая маршрутизация в Drupal 6,7»

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



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