- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
да не, ссылку надо в UTF8 выдавать
Гадость состоит в том, что браузер при отправке запроса к серверу не указывает кодировку запроса, поэтому национальные символы должны кодироваться в какаху вида %D1%FA и т.д.
Проверяйте переменную на наличие символов вроде Џ,Ѓ,±,Ў,µ,Ќ,Ђ,† - это, например, похоже на cp-1251 принятый как utf-8, если такие крокозябры найдены - юзайте $string=iconv('windows-1251', 'utf-8', $string);
Например у вас в cp1251 ссылка
"Съешь еще этих мягких французских булок, да выпей чаю"
Большинство браузеров без url-кодирования передадут её криво:
РЎСЉРµС?СЊ еще этих РјСЏРіРєРёС… французских булок, РґР° выпей чаю
так что если не хотите её пересобачивать в url-кодированную
%D1%FA%E5%F8%FC+%E5%F9%E5+%FD%F2%E8%F5+%EC%FF%E3%EA%E8%F5+%F4%F0%E0%ED%F6%F3%E7%F1%EA%E8%F5+%E1%F3%EB%EE%EA%2C+%E4%E0+%E2%FB%EF%E5%E9+%F7%E0%FE
передавайте не сразу в poisk.php, а в скрипт проверки кодировки, а из него уже вызывайте поиск.
Яндекс и рамблер, кстати, русские cp-1251 ссылки жрут отлично, а гугльботу надо в обработчике писать что-нибудь вроде:
if (preg_match('/(googlebot)/i', $_SERVER['HTTP_USER_AGENT']))
{
$string= iconv('utf-8', 'windows-1251', $string);
}
Вобщем яше скормил 60 000 страниц со смешанными url (ru/en) - прошло отлично, гугль 200 сожрал после вышеописанной корректировки по имени бота.
Вот такие результаты экспериментов.
ЗЫ Мозги к вечеру не варят, мог чего понапутать...
if (preg_match('/(googlebot)/i', $_SERVER['HTTP_USER_AGENT']))
{
$string= iconv('utf-8', 'windows-1251', $string);
}
и без этого нормально все кушает, или стопудов надо?
и без этого нормально все кушает, или стопудов надо?
Когда гугль сожрал 300 страниц с параметрами вроде "РјСЏРіРєРёС" - пришлось такую конструкцию лепить в код. Причём яндекс с рамой этот же сайт слопали на ура.
Тем более про юзверей забывать не стОит - им тоже может жуткое крокозябрие браузер устроить, так что надо ещё скрипт проверки втыкать, для всяких более геморных ситуаций, чем гуглябот.
saurongorynich, возможно, вопрос больше в настройке сервера... хотя фик его знает, всякое бывает...
root добавил 13.06.2009 в 01:36
Yurecm, тоже была такая проблема, пытался с помощью mod_rewrite сделать ЧПУ, в котором параметры должны были передаваться в некоторых случаях кириллицей, решил вопрос так:
/site/1234/запрос
передается все странице
/site.php?id=1234
а из базы берем, что 1234='запрос'
но так надо прописывать все запросы в базу под опред. ID
в противном случае получается, что мы открываем для индексирования поиск на сайте,
за что можно получить бан.. ну это так, лирика
еще один вариант:
RewriteEngine On
RewriteRule search-(.*) poisk.php?$1 [L]
$_SERVER['QUERY_STRING'] и будет Ваш запрос.
это для php - в коде
$zapros=$_SERVER['QUERY_STRING'];
удачи!
P.S. забыл еще сказать, попробуйте разными кодировками (в первую очередь urlencode -, например, %EC%FF%E3%EA ), думаю, все получится!
saurongorynich, root, спасибо. Так ничего и не получилось.
Может у кого есть готовый пример, пришлите плиз на мыло ymaldov@yandex.ru
saurongorynich, root, спасибо. Так ничего и не получилось.
Может у кого есть готовый пример, пришлите плиз на мыло ymaldov@yandex.ru
слушай, дай дамп твоих файлов я тебе приведу все в нормальный вид, ибо на гуще гадать думаю уже не имеет смысла :)
бд не надо, я даже заглядывать туда не собираюсь :))
bearman, спасибо, мыло в личку отправьте плиз
Yurecm, у меня вот так используется пример, который я написал:
go.php?ya.ru
осуществляется переход на ya.ru , код go.php:
<?
header("Location: http://".$_SERVER['QUERY_STRING']);
exit();
?>
для Вас дописал вначале только , как отмодреврайтить..
уверен, что bearman Вам поможет, читал темы с его участием, спец в этом деле.
bearman, если будет желание, запостите, пожалуйста, результат в блог или в тему, думаю, будет многим полезно!
root, я даже и не знаю о чем именно написать в блог))
тут аналитика такаяя: брауезер все запросы передает в ютф8, если запросы писать ручками, а у тс страничка в сп1251 .. ну и сами понимаете :)) масс иконв да и все хорошо стало сразу. потом поняли что если с сайта нажать кнопку поиск, то очевидно раузер уже знает что запрос идет с сп1251 страницы - переконвертить не надо, добавили просто лишний параметр в хтаккессе и соответственно иф в коде. и .. тс еще н ответил, но думаю что он просто шампанское открывает да наливает там =)))
bearman добавил 19.06.2009 в 01:29
ну и вот
RewriteRule ^s-([^/]*)$ poisk.php?utf=1&text=$1 [L]
кусок хтаккесса, видно параметр ютф=1
{
$_GET = array_map(create_function('$x', 'return iconv("utf-8","cp1251",$x);'),$_GET);
}
ну и тут ... херня :)
это стандартная проблема перекодировки, если бы тс везде юзал ютф, то проблемы бы не было вообще :))) но у него бд на текстовых файлах, поэтому лишний геморой по конверту кучи файлов и папок ... проще иф вставить имхо)