Вот это это еще
preg_match("/[\xd0\xb0-\xd1\x8f\xd0\x90-\xd0\xaf]/u", $utf8Tag)
можно заменить на
preg_match("/[\300-\337][\200-\277]/", $utf8Tag)
Вообщето да, нужно не добавлять, а заменить
$tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
на
$utf8Tag = $tag; $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag ); if(preg_match("/[\xd0\xb0-\xd1\x8f\xd0\x90-\xd0\xaf]/u", $utf8Tag)){ header('Location: '.$config['http_home_url'].'tags/'.urlencode($tag).'/', true, 301); exit; }
Во втором способе аналогично. Добавляем $utf8Tag = $tag; и в условие заменяем $tag на $utf8Tag
и exit; после header не забудьте
Я с именем переменной немного ошибся, еще раз скопируйте код
Как вариант, строчку $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
Заменить на
Более правильно наверное будет заюзать такую вот функцию, так как в utf8 может быть не только символьный класс /[а-я]/i
где-то в functions.php добавить
function isUTF8($str){ /* * @see http://en.wikipedia.org/wiki/UTF-8#Description */ # Four-byte chars if(preg_match("/([\360-\364])([\200-\277])([\200-\277])([\200-\277])/", $str)) return true; /* Three byte chars */ if(preg_match("/([\340-\357])([\200-\277])([\200-\277])/", $str)) return true; /* Two byte chars */ if(preg_match("/([\300-\337])([\200-\277])/", $str)) return true; return false; }
строчку $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
заменить на
$utf8Tag = $tag; $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag ); if(isUTF8($utf8Tag)){ header('Location: '.$config['http_home_url'].'tags/'.urlencode($tag).'/', true, 301); exit; }
А чем вас 76ms не устраивает? Это 0.07s, что довольно не плохо. У вас дольше рендеринг в браузере может происходить, чем генерируется страница.
Там стандартный редирект, а редактировать нужно /wp-admin/
http://wordpress.org/support/topic/how-to-change-the-admin-url-or-wp-admin-to-secure-login
https://www.google.ru/search?client=opera&rls=ru&q=change+wp-admin
Ну конечно, это же динамически сгенерированная страница, как вы по другому хотели? Т.е. сервер делает какие-то запросы, что-то обрабатывает, поэтому сравнивать в данном случае с статикой абсолютно не правильно. Хотите те же результаты - переведите все в статику и удалите движок. И будет вам 8ms.
Потому и не отрабатывает.
Что мешает https://www.google.ru/search?client=opera&rls=ru&q=wp-admin+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest?
Redirect 301 /brand_1/ /brand_2/
Ну тут и так понятно в чем разница - первый способ использует mod_rewrite, второй - mod_setenvif. Какой лучше? Хз. Тоже самое что лучше - теплое или мягкое?..
Имхо, мод реврайт предназначен для преобразования ссылок, поэтому если нужно просто запретить доступ к сайту, то наверное второй способ, так как реврайты нам тут не нужны.