Вы здесь

Системные пути

Обработка адресов и адреса страниц (Системные пути)

Все запрашиваемые адреса Друпал обрабатывает через index.php. В ответ на запрос сервера делается запрос ?q=[путь-к-странице]. Примеры обработки адресов (что хотят от Друпала → как обрабатывается):

  • example.com/admin → example.com/index.php?q=admin
  • example.com/node/123 → example.com/index.php?q=node/312
  • example.com/user/1 → example.com/index.php?q=user/1
  • example.com/taxonomy/term/6 → example.com/index.php?q=taxonomy/term/6

По умолчанию, работа системы чистых ссылок Друпала определена в файле .htaccess. Этот файл содержит набор правил, которые говорят Апачу как обрабатывать запрос. Стандартное содержание файлы .htaccess отвечающее за чистые ссылки:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Эти строчки говорят Апачу о том, что если запрашивается файл или папка, которых нет в файловой системе, то запрос должен быть помещён после index.php?q=. Этой обработкой запросов занимается веб-сервер и посетители сайта никогда не видят часть index.php?q=.

Примеры системных адресов:

  • example.com/admin — управление сайтом
  • example.com/user/login — вход в аккаунт
  • example.com/user/logout — выход из аккаунт
  • example.com/user/register — регистрация
  • example.com/user/password — восстановление пароля
  • example.com/user/[UID] — страница пользователя
  • example.com/profile — список зарегистрированных пользователей
  • example.com/node — первая страница сайта
  • example.com/node/[NID] — документ
  • example.com/taxonomy/term/TID — термин
  • example.com/forum/[TID] — форум
  • example.com/forum — страница всех форумов
  • example.com/blog/[UID] — блог.
  • example.com/blog — страница всех блогов
  • example.com/book — книга

Примечание:

  • UID — User ID (идентификатор пользователя, номер пользователя)
  • NID — Node ID (идентификатор документа, номер документа)
  • TID — Term ID (идентификатор термина (тега, категории), номер термина (тега, категории))

Если поддержка чистых ссылок не включена, то после названия домена в адресе будут присутствовать знаки ?q=. Например: example.com/?q=node/54.

Часто названия модулей присутствуют в адресах которые они генерируют, реже обзорную страницу какого-либо модуля можно открыть набрав в адресной строке браузера его название, то есть для модуля Blog это example.com/blog, для модуля User это example.com/user. Такой же подход можно использовать и для дополнительных модулей.