VHS

VHS
Рейтинг
142
Регистрация
28.09.2007

stranica.html имеет точку?

postavkin:
На точки самый простой, но боюсь теперь на них менять.

---------- Post added 30-10-2014 at 13:23 ----------


Нет их нет, они 404 для Яши. Всего урлов с запятыми 2100, 1900 урлов уже выпали, так как отдали яндексу 404.

Если они один раз отдали 404 - это не значит что они уже выпали.

И не забудь про ссылки на эти страницы. Невыпавшие ведь содержат на них ссылки, которые Яша обязан обойти?

Еще раз поясню.

1 - Прорабатываем "канонический" урл, т.е. тот, который будет впоследствии верным. Самый простой вариант - просто убрать запятые, возможно заменить на точки.

2 - При запросе из базы приводить командой REPLACE текущие урлы к "каноническим". Входящие урлы запроса страниц преобразовывать так же для правильного поиска. Можно конечно сразу заменить урлы в базе. Но я бы не стал торопиться. Не забываем, что в Яше уже сидят урлы с "?" вместо ","

3 - После того, как выяснили, какая страница запрашивается - проверяем реальный урл. Если он не "канонический" - редиректим 301 на "канонический". Потерь позиций и документов в этом случае не будет. Если Урл запрашиваемой страницы равен "каноническому" - все ок, выдаем страницу.

Просто нет смысла писать обработчик на каждый урл - преобразуйте все по маске. А 301 редирект переведет все урлы под одно правило и для Г и для Я без потерь страниц.

Вот скажем так выдержка Г-кода из одного ИМ. Там урлы страниц формируются транслитерализацией названия товара. Названия корректируются постоянно, но ничего не выпадает. Правда там соответствие по айди.

$rightUrl = url2product($unit['cat_id'],$site['category']).$id."-".str2url($unit['name']).".html";

if($_REQUEST['str'] != $rightUrl){

header("HTTP/1.1 301 Moved Permanently");

header("location: /".$rightUrl);

exit();

}

Mad_Man:
VHS, фигню советуете, товагищ. Не нужно городить костыли пачками. Нужно вправить лишь экранирование символов на сайте.

Ой ли?

Ребят, вообщем Яндекс дал четко понять, что урлы
14,9x100 видит как -14?9x100
-35x100,8 видит как -35x100?8
-49,6x49,6 видит как -49?6&6x49

Что можно прописать в .htaccess чтобы для раздела laminat/ действовали правила
редиректа с
-14?9x100 на -14-9x100
-35x100?8 на -35x100-8
-49?6&6x49 на -49-6x49-6

или даже так
-14,9x100 на -14-9x100
-35x100,8 на -35x100-8
-49,6&49,6 на -49-6x49-6

то же самое описал и я. Только не в htaccess, а в коде. И не 6000 правил писать, а один временный костыль.

Смысл всех махинаций - плавная смена url, без потерь в поисковиках и потерянных всвязи с этим страниц. Решение за тобой.

postavkin:
Что то не понял смысл наворота. Для робота (и юзера) урлы страниц все равно поменяются. Документ будет доступен, короче, по новому адресу.

В выборке страницы по урлу запроси вот этот урл

/tovar/laminat-balterio-kosbi-eco-wood-10?5x90

а потом через конструкцию

WHERE REPLACE( `url` , ',', '' ) = REPLACE( $url , '?', '' )

С символами играй как знаешь. Смысл - отдача урл вне зависимости от преобразований.

После чего урлы на страницах меняешь на нормальные (при выводе заменяешь символы) и сразу редиректишь на правильный адрес с старых страниц. Не меняешь в базе урлы для того, чтобы автоматом редиректить на правильные страницы. Хотя можно и заменить по базе сразу, но что-то мне подсказывает что не стоит этого делать.

Когда урлы с кривыми символами переместяться на правильные - заменишь в базе и все.

postavkin:
Урлы товаров менять не очень хочется.

Не меняй.

WHERE REPLACE( `url` , ',', '' ) = "урл без запятых"

На страницах выводишь урлы без запятых

Перед выводом страниц проверяешь урлы на наличие запятых - есть запятая, редиректишь 301 на нее же, но без запятой.

Классически решается выводом в часть урл айдишника.

Постраничный редирект на 6000? Не лучший вариант.

В mysql есть функция replace

---------- Добавлено 30.10.2014 в 02:02 ----------

Mad_Man:
Вангуете структуру БД по скриншоту товара?

Вещий сон увидел, там про символы в урл и преобразованиях хитрóвымученных символов.

Создаешь файл hjfdJGTG.html (Регистр крайне важен!!!) на рабочем столе.

Нажимаешь правой кнопкой - редактировать в блокноте.

Вылаживаешь в него свой хтмл.

Сохраняешь

Открываешь файл в браузере. В твоем персональном интернете появляется твой сайт.

Это бесплатно.

На картинке из старт-поста очень нравится третья строчка и четвертая буква справа в урле. С огромной долей вероятности она будет преобразована к "?"

Не воспроизводится что-то.

Проверьте - а ТОП полностью меняется или только отдельные сайты вылетают?

Всего: 693