est4o
@est4o

Как работает URL с кириллицей в WP?

Вопрос о внутреннем механизме вордпресса
Пример site.ru/мероприятия/
Понятно что на деле это преобразуется в:
%D0%BC%D0%B5%D1%80%D0%BE%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F
А дальше?
В БД лежит статья с полем "мероприятия" и происходит точный поиск по ней, или же он как-то где-то преобразуется в id на каком-то этапе? Или в строку на английском?
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
@ommunist
Делаю и поддерживаю мультиязычные сайты
Любой URI в WP работает как описано в документации. В случае с русским следует учитывать максимально возможную длину (78 русских символов, если память мне не изменяет). Все что длиннее - WP обрежет.

То есть любая запись в WP имеет исходную ссылку вида example.com/?p=N

А в зависимости от особенностей веб-сервера и настроек mod_rewrite, и настроек permalinks в админке WP она может быть какой угодно.

В таблице wp_options есть запись option_name = "permalink_structure". А чтобы уж совсем гранулированно контролировать структуру URI есть настройка в той же таблице с названием rewrite_rules

По умолчанию там записано вот что:

[(.?.+?)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(.?.+?)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]


Ваш slug "мероприятия" это именно что семантический ярлык внутри URI, регулируемый через механику permalinks .

Так что у вас не "статья с полем мероприятия", а либо "запись в категории", либо "запись с тегом", подчиняющаяся структуре permalinks, которая задана у вас в админке или в произвольной таксономии.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы