Автор Тема: вопрос по редиректу  (Прочитано 51 раз)

27 Сентября 2016, 13:04:45
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Возникла такая проблема
Раньше была структура сайта в таком формате:
сайт.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
27 Сентября 2016, 13:27:38
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 2156
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
ЧПУ включи и адрес будет сайт.ru.
27 Сентября 2016, 15:37:49
Ответ #2
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в том то и дело, чпу включено давно и проблема есть.
27 Сентября 2016, 16:22:32
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2156
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
RewriteCond %{QUERY_STRING} ^pl=price&id=$
RewriteRule ^index.php$ /index.php [L,R=301]
27 Сентября 2016, 16:35:26
Ответ #4
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вставил в файл после RewriteEngine on - не работает,
27 Сентября 2016, 20:02:30
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1190
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
RewriteEngine on
RewriteCond %{QUERY_STRING} ^pl=price$ [NC]
RewriteRule ^(.*)$ / [R=301,NC,L]
Так попробуйте.
27 Сентября 2016, 20:35:29
Ответ #6
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
27 Сентября 2016, 22:12:06
Ответ #7
  • Пользователь
  • **
  • Сообщений: 98
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
что у Вас раньше отображалось по пути   /index.php?pl=price&id=18   ?
(* --[[ /* <!-- {* #  -- ; *} --> */ ]] *)
skype:vlad_stiff
27 Сентября 2016, 22:59:00
Ответ #8
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
страницы старого движка
еще есть
/index.php?pl=fprice&id=151
/index.php?pl=details&id=151
/index.php?pl=rprice&id=151
/index.php?pl=content&id=151
после цифр ничего не отображалось
28 Сентября 2016, 02:26:12
Ответ #9
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
сработало в таком варианте
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]
на всякий случай зачистил кэш в браузере и на сайте
всем спасибо за участие