@strify_25

Почему не работают редиректы?

Был сайт, работающий на ASP. Структура ссылок была такая:
site.ru/catalog.asp - общая страница каталога
site.ru/catalog.asp?id_main=86&id_sub=1 - страница раздела (страниц типа site.ru/catalog.asp?id_main=86 не существовало)
site.ru/prod_view.asp?id=1550 - страница товара.

Перенесли на битрикс. Теперь ссылки такие:
site.ru/katalog/ - общая страница каталога
site.ru/katalog/category/subcategory/ - страница раздела
site.ru/katalog/category/subcategory/product/ - страница товара

Необходимо сделать редиректы со старых адресов на новые. Для общей страницы делаю:
Redirect 301 /catalog.asp http://site.ru/katalog/
OK, все работает. Дальше для разделов:
RewriteCond %{QUERY_STRING} id_main=68&id_sub=3
RewriteRule ^catalog.asp http://site.ru/katalog/category/subcategory/? [R=301,L]

Не работает! Перекидывает на site.ru/katalog/?id_main=68&id_sub=3
Пробовал другой вариант вида
RewriteCond %{QUERY_STRING} ^id_main=68&id_sub=3$ [NC]
RewriteRule ^catalog.asp$ http://site.ru/katalog/category/subcategory/? [R=301,L]

То же самое.
Дальше пишу для товаров:
RewriteCond %{QUERY_STRING} id=1550
RewriteRule ^prod_view.asp http://site.ru/katalog/category/subcategory/product/? [R=301,L]

Тоже не работает - адрес остается тем же, ошибка 404

Кто-нибудь знает, как с этим бороться?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@strify_25 Автор вопроса
Сделали так:
RewriteCond %{HTTP_HOST}	^site\.ru$
RewriteCond %{QUERY_STRING}	^id_main\=68&id_sub\=3$
RewriteRule ^catalog\.asp$	/katalog/sredstva-elektrozashchity/zazemleniya-perenosnye-dlya-vl/? [R=301,L]


Вроде работает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы