Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [seo] кириллица в url при редиректе / 11 сообщений из 11, страница 1 из 1
03.06.2013, 10:40
    #38283271
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
для СЕО сделал адрес такого формата:
host/blabla/ID/кирилическое-имя-материала

в ссылках на страницах сайта видится читабельно и переход с них дает в строке адреса браузера то жэ читабельное

но сделав 301 со старого формата ( host/blabla/ID ) в новый, получаю процентную кодировку в строке адреса
и яндекс в метрике пишет адрес посещенной (редиректнутой) страницы кракозябрами (не процентом), т.е. адрес как бы другой чем кириллический (точнее - в другой кодировке чем utf-8)

кодировка в БД - UTF-8
код редиректа такой
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function seo_url_string($string) // замена пробелов на дефис
{
    mb_regex_encoding('UTF-8');
    return mb_ereg_replace('/[-]{1,}/','-',mb_ereg_replace(' ','-',mb_strtolower($string)));
}
...
$path = implode("/", $vars) . '/' . seo_url_string($mat[0]['name']); // добавление в путь кириллического имени материала
header("HTTP/1.1 301 Moved Permanently");
header('Content-Type: text/html; charset=utf-8');
header('Location: http://' . $_SERVER['SERVER_NAME'] . '/' . $path);
exit();


в шаблонах такое
Код: php
1.
<?=seo_url_string($t[0]['name'])?> 

дает читабельную кириллицу

пробовал разные варианты для seo_url_string. результат одинаковый. этот вариант последний и вроде правильный логически
? подскажите как победить
...
Рейтинг: 0 / 0
03.06.2013, 10:54
    #38283295
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
зы: сайт новый, можно было бы и не делать 301, все равное яндекс еще не все проиндексировал
но всё жэ хотелось разобраться, вдруг для другого понадобится
...
Рейтинг: 0 / 0
03.06.2013, 11:23
    #38283340
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
Пуникод не пробовали?
...
Рейтинг: 0 / 0
03.06.2013, 11:50
    #38283404
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
urlencode не?
...
Рейтинг: 0 / 0
03.06.2013, 11:55
    #38283416
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
ShSerge,

не пробовал - не пришло в голову. по идее должно сработать
но чуть раньше ответа попробовал вариант замены НЕ в строке utf-8, а в предварительно конвертнутой в cp-1251. и о чудо, прокатило )))
код такой
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function seo_url_string($string)  // замена пробелов на дефис
{
	$string = strtolower(preg_replace('/[-]{1,}/','-',preg_replace('/[ ]{1,}/','-',iconv('UTF-8','cp1251',$string))));
	$string = iconv('cp1251','UTF-8',$string);
	return $string;
}

...

$path = implode("/", $vars) . '/' . seo_url_string($mat[0]['name']); // добавление в путь кириллического имени материала
		
header("HTTP/1.1 301 Moved Permanently");
header('Content-Type: text/html; charset=utf-8');
header('Location: http://' . $_SERVER['SERVER_NAME'] . '/' . $path);
exit();
...
Рейтинг: 0 / 0
03.06.2013, 12:11
    #38283448
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
vkle urlencode не?наверное не. я хотел в адресе видеть буквы кириллицы а не процент-кодировку, пусть даже utf-8
начитался всякого бреда про русский в урл и решил что будет правильно так сделать
всех рассуждений уже не помню, только одно - википедия показывает кириллицу в урл, значит это гуд )
...
Рейтинг: 0 / 0
03.06.2013, 12:25
    #38283471
вики-педи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
ILLHEADvkle urlencode не?наверное не. я хотел в адресе видеть буквы кириллицы а не процент-кодировку, пусть даже utf-8
начитался всякого бреда про русский в урл и решил что будет правильно так сделать
всех рассуждений уже не помню, только одно - википедия показывает кириллицу в урл, значит это гуд )
Это не википедия показывает кириллицу в урл, а браузер. За кадром все равно идет запрос на урл типа
Код: html
1.
http://ru.wikipedia.org/wiki/%XX%XX%XX%XX...
...
Рейтинг: 0 / 0
03.06.2013, 12:27
    #38283477
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
Ну не занаю, мож не во всех браузерах работает... Пример на той же Википедии. Вбиваем в поиске слово "Ресурс" без кавычек. Видим переход на URL
Код: php
1.
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1%81

Однако, в адресной строке светится кириллица: http://ru.wikipedia.org/wiki/Ресурс

В то же время,
Код: php
1.
2.
$ php -r 'echo urlencode("Ресурс");'
%D0%A0%D0%B5%D1%81%D1%83%D1%80%D1%81
...
Рейтинг: 0 / 0
03.06.2013, 12:49
    #38283532
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
вики-педи,

Так или иначе SEOшникам нужны ЧПУ
...
Рейтинг: 0 / 0
03.06.2013, 13:20
    #38283615
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
vkle,

да. кажется с urlencode все правильно и в адресной строке и в статистике яндекса
...
Рейтинг: 0 / 0
03.06.2013, 13:22
    #38283621
ILLHEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[seo] кириллица в url при редиректе
вики-педи,

не так выразился
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [seo] кириллица в url при редиректе / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]