Redirect 301: Проблема с редиректом в htaccess

Столкнулся с такой проблемой. Был произведен редизайн сайта и изменен тип вывода ссылок для адресной строки. На старом сайте ссылка на страницу товара в каталоге выглядела так:

http://site.com/catalog/233/6546/ — каталог/рубрика/id товара/

На новом так:

http://site.com/catalog/rubricname/productname/

Чтобы не выпасть из индекса поисковиков и ещё есть много других ресурсов, которые ссылаются по старым ссылкам, было решено сделать 301 редирект на время, пока сезон в магазине. Потом ссылки будут сняты с редиректа.
И тут возникла проблема. Сначала добавили редирект на рубрику в каталоге, потом уже на список товаров в данной рубрике.

Redirect 301 /catalog/233/ http://site.com/catalog/rubricname/
 
Redirect 301 /catalog/233/6546/ http://site.com/catalog/rubricname/productname-1/
 
Redirect 301 /catalog/233/6547/ http://site.com/catalog/rubricname/productname-2/



И в результате при попытке перейти по ссылке http://site.com/catalog/233/6546/ перекидывало на ссылку http://site.com/catalog/rubricname/productname-1/6546/ в конце добавлялось окончание от старой ссылки.

Оказывается нужно было располагать строки редиректов в обратном порядке, от длинных к коротким. Тоесть сначала продукты, потом рубрики.

Redirect 301 /catalog/233/6546/ http://site.com/catalog/rubricname/productname-1/
 
Redirect 301 /catalog/233/6547/ http://site.com/catalog/rubricname/productname-2/
 
Redirect 301 /catalog/233/ http://site.com/catalog/rubricname/
Теги:
Redirect, htaccess
Добавлено: 01 Марта 2015 09:53:48 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...