@lexstile

Как правильно прописать rewriterule для кириллицы?

На латинице все работает:
RewriteRule ^text/([a-zA-Z]+)/?$ /app/text/detail.php?t=$1

Пробовал подставить а-яёА-ЯЁ - не помогло, точнее - работает только с первой буквой после слеша (например, /text/а).
  • Вопрос задан
  • 889 просмотров
Решения вопроса 1
@dodo512
\p{Cyrillic} https://www.php.net/manual/ru/regexp.reference.uni...
А если нужна не только кириллица, то \p{L}.

RewriteRule (*UTF8)^text/(\p{L}+)/?$ /app/text/detail.php?t=$1 [L]


Если использовать [а-яёА-ЯЁ], то файл должен быть сохранён в UTF-8 без BOM.
RewriteRule (*UTF8)^text/([а-яёА-ЯЁ]+)/?$ /app/text/detail.php?t=$1 [L]


Ещё вариант.
RewriteRule ^text/((?:\xd0[\x81\x90-\xbf]|\xd1[\x80-\x91])+)/?$ /app/text/detail.php?t=$1 [L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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