НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
84 of 182 menu

Таблица url_alias

Таблица url_alias является ключевым компонентом системы путей Drupal. Она хранит соответствие между внутренними системными путями (например, node/123) и их пользовательскими псевдонимами (например, about-us). Это обеспечивает создание понятных человеку и поисковым системам URL-адресов.

Поля

Поле Тип данных Описание
pid serial Первичный ключ, уникальный идентификатор записи псевдонима. Автоматически инкрементируется.
source varchar(255) Внутренний системный путь Drupal, для которого создается псевдоним. Например, node/123, taxonomy/term/456 или user/789.
alias varchar(255) Пользовательский псевдоним пути. Должен быть уникальным. Например, about-our-company или blog/my-first-post.
language varchar(12) Языковой код псевдонима (например, en, ru). Если значение равно und, псевдоним считается языково-нейтральным и будет использоваться для всех языков, для которых не задан специфичный псевдоним.

Как это работает

Когда пользователь или поисковый робот запрашивает URL на сайте Drupal, система сначала проверяет, существует ли запрошенный путь в таблице url_alias в столбце alias. Если совпадение найдено, Drupal перенаправляет запрос на соответствующий внутренний путь из поля source и обрабатывает его.

Псевдонимы можно создавать вручную через административный интерфейс (Администрирование » Конфигурация » Поиск и метаданные » URL-алиасы) или автоматически с помощью модуля Pathauto, который генерирует их по заданным шаблонам на основе заголовка материала, даты его создания или других полей.

Поле language позволяет иметь разные псевдонимы для одного и того же системного пути на разных языках в multilingual-установках. Это критически важно для корректной работы многоязычных сайтов.

Важно отметить, что в Drupal 8 и более поздних версий данная таблица была заменена на path_alias и работает через Symfony Routing component. Однако таблица url_alias остается фундаментальной для понимания механизма работы URL в Drupal 6 и 7.

Пример SQL-запроса

Получить все псевдонимы для русской версии сайта можно следующим запросом:

SELECT pid, source, alias FROM url_alias WHERE language = 'ru' OR language = 'und' ORDER BY alias;

Найти системный путь по известному псевдониму:

SELECT source FROM url_alias WHERE alias = 'about-us';

Смотрите также

  • таблицу node,
    которая хранит основные данные материалов (нод)
  • таблицу users,
    которая содержит данные зарегистрированных пользователей
  • таблицу taxonomy_term_data,
    которая хранит термины таксономии
  • таблицу menu_links,
    которая отвечает за хранение пунктов меню
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить