Добрый день. На сайте изменяем url адрес для товаров и разделов. Был соответственно /catalog/section_code/, /catalog/section_code/product_id/. Новые шаблоны страниц принимают вид следующий: /catalog/books-section_code/, /catalog/book-product_id/. Пытаюсь составить регулярное выражение под данные шаблоны, для редиректа со старого адреса на новый. Адреса вида /catalog/books-text/.../ и /catalog/book-text/ надо исключить из правила редиректов
Пишу так: ^\/catalog\/((?:(?
тестирую: /catalog/bookss-psihologiya/30987/
Работает как предполагается, но есть нюанс, то что в группе получаю "bookss-psihologiya/30987", а надо получать без id, как это переделать?
старый вариант раздела /catalog/psihologiya/ редирект на /catalog/books-psihologiya/
для элемента соответственно /catalog/psihologiya/3001/ редирект на /catalog/book-3001/
Скажем так, составляется таблица, где первый столбец регулярное выражение, а второй столбец куда редиректить. Если выбирать между средствами php и .htaccess, то выбрал бы 2.
Благодарю, 2 вариант через RedirectMatch работает верно. Через RewriteRule первое правило почему то не редиректит с старого адреса на новый для разделов, для элементов отрабатывает верно.
MiXaLiN17, не редиректит если другое правило перехватывает этот запрос.
Так что правила RewriteRule ... [R=301,L] нужно ставить выше остальных RewriteRule.