Отрезать кусок ссылки

12
[Удален]
1453

Добрый день!

Имею сайт, в яше внутренние ссылки имеют вид view.html?id=[номер объявы]&step=[рандомное число], в индексе соответственно страницы вида:

/view.html?id=1127&step=21

/view.html?id=1771&step=30

и так далее.

Ссылки поправил, теперь старницы имеют адрес

/view.html?id=1127

/view.html?id=1771

Убрал ненужное "&step=", но яндекс попрежнему индексирует страницы с этим "&step=". Как можно показать яшке, что он не прав и жрать эту "&step=" не надо?

RedHat
На сайте с 15.02.2004
Offline
125
#1

Загляни вот сюда мне помогло: http://help.yandex.ru/webmaster/?id=996567

А так недавно тоже боролся с яшей.

HTTP-статус: Ресурс не найден (404) Ошибок: 47031

Странички двух трех летней давности структура сайта от которой уже не чего не осталось но яша помнит. Вообще раньше было ошибок в 2 раза больше половину почистил вот таким кодом:

User-agent: Yandex

Disallow: /banner/
Disallow: /view.php?
Disallow: /detail.php?
Disallow: /mail.php?
Allow: /

Остальные ошибки просто не знаю как вычистить так как придется банить весь сайт для индексации.

«Россия: назад в будущее»
АК
На сайте с 05.08.2006
Offline
76
#2
Welcome2:
Убрал ненужное "&step=", но яндекс попрежнему индексирует страницы с этим "&step=". Как можно показать яшке, что он не прав и жрать эту "&step=" не надо?

Можно:

1. Пробывать просто через robots.txt запретить индексацию этих страниц.


User-agent: Yandex
Disallow: /view.html?id=*&step

2. Сделать редирект со страниц со step на страницы без step прямо в движке.

3. Сделать редирект со страниц со step с помощью modrewrite.

...

[Удален]
#3
Алексей Катаев:
Можно:
1. Пробывать просто через robots.txt запретить индексацию этих страниц.

User-agent: Yandex
Disallow: /view.html?id=*&step

Так я закрою от индексации все такие страницы.. А мне надо, чтобы страницы без "&step=" были в индексе. Пока страниц без этого "&step" даже нет в индеске.


2. Сделать редирект со страниц со step на страницы без step прямо в движке.

Невозможно :(


3. Сделать редирект со страниц со step с помощью modrewrite.
...

Так, это подходит... Сейчас почитаю что это за штука и с чем её едят.

Скажите, а обращение к платонам ничего не решит? Может кто-нибудь сталкивался?..

Данил
На сайте с 17.01.2006
Offline
153
#4
Welcome2:
Убрал ненужное "&step=", но яндекс попрежнему индексирует страницы с этим "&step=". Как можно показать яшке, что он не прав и жрать эту "&step=" не надо?

Сделайте так, если переменная степ переданна, то выдавайте 404 ошибку... Если она и вправду не нужная;)

Покупаю сайты (/ru/forum/394337). Заработай себе на екро — Сапа (http://www.sape.ru/r.0d0e35f6a7.php). Для продвжиения быстро и на автомате (http://www.seowizard.ru/r.0d0e35f6a7.php)!
АК
На сайте с 05.08.2006
Offline
76
#5
Welcome2:
Так я закрою от индексации все такие страницы.. А мне надо, чтобы страницы без "&step=" были в индексе. Пока страниц без этого "&step" даже нет в индеске.

Нет, вы закроете для яндекса только страницы, содержащие &step.

"Звездочка" в коде стоит не случайно :) "Спецсимвол '*' означает любую (в том числе пустую) последовательность символов" (с) Яндекс.Хелп.

User-agent: Yandex

Disallow: /view.html?id=*&step

Т.е. в этом случае НЕ будут запрещены к индексации страницы /view.html?id=1243, а будет запрет только если там появится &step. Hапример, /view.html?id=1243&step - уже не будет индексироваться.

[Удален]
#6
Алексей Катаев:
Нет, вы закроете для яндекса только страницы, содержащие &step.
"Звездочка" в коде стоит не случайно :) "Спецсимвол '*' означает любую (в том числе пустую) последовательность символов" (с) Яндекс.Хелп.
User-agent: Yandex

Disallow: /view.html?id=*&step

Т.е. в этом случае НЕ будут запрещены к индексации страницы /view.html?id=1243, а будет запрет только если там появится &step. Hапример, /view.html?id=1243&step - уже не будет индексироваться.

Я это прекрасно понимаю! Но если запретить к индексации ссылки со "степом", откуда уверенность, что ссылки без "степа" проиндексируются, а не тупо вылетят из индекса 7к страниц?

Читаю про мод_рерайт, но не сильно разбираюсь в регулярных выражениях. Мне кажется, что 301 редирект со страниц со "степом" на "безстепные" будет лучшим решением. Гуру, подскажите, что написать надо, чтобы сие осуществить?

http://url/category/car/view.html?id=1115&step=12

перенаправлять 301 редиректом на

http://url/category/car/view.html?id=1115

BlizStrike
На сайте с 23.11.2006
Offline
133
#7

Гуру не видит код движка. Если не охото залазить в дебри кода, пропиши как тебе сказали

Алексей Катаев:
Можно:
1. Пробывать просто через robots.txt запретить индексацию этих страниц.

User-agent: Yandex
Disallow: /view.html?id=*&step


2. Сделать редирект со страниц со step на страницы без step прямо в движке.

3. Сделать редирект со страниц со step с помощью modrewrite.
...
SEO.Taxi - Экспертное SEO Продвижение Сайта (https://SEO.Taxi) - подвезу в ТОП Платные консультации по продвижению.
АК
На сайте с 05.08.2006
Offline
76
#8
BlizStrike:
Гуру не видит код движка. Если не охото залазить в дебри кода, пропиши как тебе сказали

Код движка тут не особо и нужен. Я не гуру, следовательно могу ошибаться с кодом правила:


RewriteRule ^category/car/view\.html?id=(.*)&step=.*$ category/car/view\.html?id=$1 [R=permanent,L]

В коде не уверен, и не проверял.

[Удален]
#9

Спасибо, проверил, но не работает. Попробовал

RewriteRule ^category/car/view\.html?id=(.*)&step=.*$ category/car/view\.html?id=/$1 [R=permanent,L]

вот так. Тоже не работает

SP
На сайте с 25.04.2008
Offline
3
#10

А что в RewriteBase прописано? По умолчанию обычно первый символ '/' тоже надо учитывать. Т.е. писать

RewriteRule ^/category/car/view\.html?id=([0-9]+)&step=.*$ /category/car/view\.html?id=$1 [R=301,L]

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий