Я пытаюсь использовать mod_rewrite для создания чистых URL-адресов, содержащих символы UTF-8.
Мой файл .htaccess выглядит так:
RewriteEngine On
RewriteRule ^([a-zA-Z\-0-9]+)/?$ index.php?page=$1 [B]
Он работает с английскими символами, но когда я пытаюсь использовать символы utf-8, я получаю сообщение об ошибке «Не найдено».
Как мне изменить свой файл .htaccess, чтобы выполнить свою работу?
В URL-адресе на стороне сервера нет такой вещи, как символы utf-8.
Все символы URL закодированы в процентах. Итак, добавьте знак процента в свое правило перезаписи, и все будет в порядке.
RewriteRule ^([a-zA-Z\-0-9%]+)/?$ index.php?page=$1 [B]