Таблица path_alias
Таблица path_alias является центральным хранилищем для псевдонимов URL в Drupal 8 и выше. Она заменяет устаревшую таблицу url_alias из Drupal 7. Каждая запись в таблице связывает системный путь (например, node/123) с его псевдонимом (например, /about-us).
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
serial |
Уникальный идентификатор записи псевдонима. Первичный ключ таблицы. |
path |
varchar(255) |
Системный путь Drupal, для которого создается псевдоним (например, node/123, taxonomy/term/456, user/789).
|
alias |
varchar(255) |
Псевдоним пути - удобочитаемый URL (например, about-us, blog/my-article). Должен начинаться с косой черты.
|
langcode |
varchar(12) |
Код языка, для которого действителен данный псевдоним. Для языка по умолчанию обычно используется значение en. Поддерживает мультиязычные псевдонимы.
|
Как это работает
Когда пользователь запрашивает URL на сайте Drupal, система сначала проверяет, не является ли запрошенный путь псевдонимом. Для этого выполняется поиск в таблице path_alias по полю alias. Если совпадение найдено, Drupal использует соответствующий системный путь из поля path для дальнейшей обработки запроса.
Псевдонимы могут создаваться автоматически через модуль Pathauto, который генерирует URL на основе шаблонов, или вручную через административный интерфейс при редактировании контента.
Важной особенностью является поддержка мультиязычности. Для одного и того же системного пути могут существовать разные псевдонимы на разных языках, что определяется полем langcode.
Drupal обеспечивает уникальность псевдонимов в рамках каждого языка. Попытка создать дубликат псевдонима для одного языка приведет к ошибке.
Пример SQL-запроса
Получить все псевдонимы для определенного системного пути можно следующим запросом:
SELECT id, alias, langcode
FROM path_alias
WHERE path = 'node/123'
ORDER BY langcode;
Найти системный путь по псевдониму:
SELECT path, langcode
FROM path_alias
WHERE alias = '/about-us';
Смотрите также
-
таблицу
node,
которая хранит основные данные материалов сайта -
таблицу
node_field_data,
которая содержит данные полей материалов -
таблицу
users,
которая хранит данные пользователей -
таблицу
taxonomy_term_field_data,
которая содержит данные терминов таксономии