Может ли редирект 301 "не срабатывать"?

CK
На сайте с 19.11.2010
Offline
15
687

На сайте есть страницы с адресом:

http://www.сайт.ru/index.php?categoryID=114

И есть их дубли, с таким адресом:

http://www.сайт.ru/?categoryID=114

На первый вариант адреса закупаются ссылки, поэтому его и надо оставить в индексе. Некоторое время назад яндекс выкинул страницы с первым вариантом адреса из индекса, Платоны ответили, что это из-за дублей. Я задал вопрос здесь на форуме и мне посоветовали такую конструкцию редиректа:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^сайт.ru

RewriteRule (.*) http://www.сайт.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/

RewriteRule ^index\.html$ http://www.сайт.ru/ [R=301,L]

Ее я и поместил в htaccess. Однако, в последний АП некоторые страницы опять выпадают из индекса, и опять Платоны пишут, что виноваты дубли...

Помогите разобраться в чем дело.

L
На сайте с 25.04.2011
Offline
58
#1
CheshirskiyKot:
На сайте есть страницы с адресом:

http://www.сайт.ru/index.php?categoryID=114


Помогите разобраться в чем дело.

Но если вы умеете пользоваться модреврайтом, что мешает сделать еще более удобные линки

http://www.сайт.ru/114.html ?

Белый Ум
На сайте с 27.04.2009
Offline
240
#2

Конечно может. У вас может сбоить сервер, опечатка в редиректе и ещё 100 причин.

Проверяйте фактический ответ сервера.

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

Skype: shum_beliy
CK
На сайте с 19.11.2010
Offline
15
#3
leshandy:
Но если вы умеете пользоваться модреврайтом, что мешает сделать еще более удобные линки
http://www.сайт.ru/114.html ?

Модреврайтом я пользоваться не умею, конструкцию по редиректу мне посоветовали тут же на форуме.

CheshirskiyKot добавил 26.09.2011 в 09:27

Белый Ум:
Конечно может. У вас может сбоить сервер, опечатка в редиректе и ещё 100 причин.

Проверяйте фактический ответ сервера.

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

Что-то до проверки ответа сервера я не додумался. В общем не работает редирект, страница выдает 200ОК.

Может тогда вы посоветуете другую конструкцию редиректа?

Белый Ум
На сайте с 27.04.2009
Offline
240
#4

RewriteEngine on

RewriteRule ^/?categoryID=([0-9]+)$ /index.php?categoryID=$1 [R=301,L]

Вот.

И тестируйте тестируйте.

П.С.

Яша передаёт привет и недоумевает.

CK
На сайте с 19.11.2010
Offline
15
#5
Белый Ум:
RewriteEngine on

RewriteRule ^/?categoryID=([0-9]+)$ /index.php?categoryID=$1 [R=301,L]


Вот.
И тестируйте тестируйте.

П.С.
Яша передаёт привет и недоумевает.

И опять у меня результат тот же. 200ОК

А этот "привет от Яндекса" я уже изучил. К сожалению сам не могу разобраться, поэтому и пишу.

CheshirskiyKot добавил 26.09.2011 в 14:52

Если кому то интересно:

RewriteCond %{QUERY_STRING} ^categoryID=[0-9]+

RewriteRule ^$ http://www.сайт.ru/index.php [R=301,L]

Белый Ум
На сайте с 27.04.2009
Offline
240
#6

Я же правило дал. Дальше сами разбирайтесь, может у вас сервер вообще редиректы не знает? Телепаты в отпуске.

Вот то что Вы написали и даже отдаленно не напоминает то что я написал.

Оставьте в htaccess только 2 строки мои - должно работать.

И опять у меня результат тот же. 200ОК

Результат чего?(главной страницы?) ТС неадекват.

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