О том что кириллические URL это нехорошо написано уже немало, и вот настал тот момент когда мне понадобилось решить данную задачу для WordPress. Через htaccess у меня работать не захотело, поэтому я реализовал это очень простым скриптом на PHP
Создаем в корне сайта файл — redirect.php с таким содержимым
<?php
$currenturl=urldecode($_SERVER['REQUEST_URI']);
$replaceurl = array (
//Ниже пишем редиректы в формате '/исходная-страница'=>; '/нужная-страница',
//Например
'/страница-1'=>'/stranica1',
'/контакты'=>;'/contacts',
);
if (in_array($currenturl, array_keys($replaceurl)))
{
header('Location: '.$replaceurl[$currenturl]);
exit();
}
Сохраняем в кодировке UTF-8 без BOM — это важно!
Далее открываем файл index.php и сразу после первого тега <?php вставляем
include_once('redirect.php');
Это всё.
Вот такой есть несложный метод редиректа кириллических URL для любого движка.
Конечно вариант с htaccess более правильный, но честно говоря когда посещалка сайта небольшая над этим можно не парится.