вопрос по редиректу

Автор Алексей Р, 27 сентября 2016, 13:04:45

« назад - далее »

Алексей Р

Возникла такая проблема
Раньше была структура сайта в таком формате:
сайт.ru/index.php?pl=price&id=18 (цифра может быть любая)

После установки престы Яндекс переидексировал страницы и по старым ссылкам типа сайт.ru/index.php?pl=price&id=18 выдаёт код 301, но сервер при заходе по ссылке сайт.ru/index.php?pl=price&id=18 пересылает на страницу сайт.ru/?pl=price&id=18 с кодом 200, причём отображается главная страница(текст) сайт.ru, а адрес страницы в браузере пишет сайт.ru/?pl=price&id=18

Как прописать в htaccess правило. чтобы был редирект с сайт.ru/?pl=price&id=18 на просто сайт.ru

Миколас


Алексей Р

#2
в том то и дело, чпу включено давно и проблема есть.

Миколас

RewriteCond %{QUERY_STRING} ^pl=price&id=$
RewriteRule ^index.php$ /index.php [L,R=301]

Алексей Р

вставил в файл после RewriteEngine on - не работает,

Mr.Sen

RewriteEngine on
RewriteCond %{QUERY_STRING} ^pl=price$ [NC]
RewriteRule ^(.*)$ / [R=301,NC,L]

Так попробуйте.

Алексей Р


Vlad_Stiff

что у Вас раньше отображалось по пути   /index.php?pl=price&id=18   ?
(* --[[ /* <!-- {* #  -- ; *} --> */ ]] *)
skype: -

Алексей Р

#8
страницы старого движка
еще есть
/index.php?pl=fprice&id=151
/index.php?pl=details&id=151
/index.php?pl=rprice&id=151
/index.php?pl=content&id=151

после цифр ничего не отображалось

Алексей Р

#9
сработало в таком варианте
RewriteCond %{QUERY_STRING} ^pl=fprice&id=(.*)$ [NC]
RewriteRule ^ /? [R=301,L]
RewriteCond %{QUERY_STRING} ^pl=price&id=(.*)$ [NC]
RewriteRule ^ /? [R=301,L]
RewriteCond %{QUERY_STRING} ^pl=details&id=(.*)$ [NC]
RewriteRule ^ /? [R=301,L]
RewriteCond %{QUERY_STRING} ^pl=rprice&id=(.*)$ [NC]
RewriteRule ^ /? [R=301,L]
RewriteCond %{QUERY_STRING} ^pl=content&id=(.*)$ [NC]
RewriteRule ^ /? [R=301,L]

на всякий случай зачистил кэш в браузере и на сайте
всем спасибо за участие