@hoindex

Как сделать редирект через htaccess на новый URL с сохранением части старого?

Всем доброго вечера!

Есть интернет магазин, несколько тысяч товаров.
На данный момент у товаров примерно следующие адреса
https://site.ru/category1/subcategory34/good1234
https://site.ru/category1/good1234
Из примера подразумевается что один и тот же товар может иметь несколько адресов, т.к. может находиться в нескольких категориях.

Есть задача переименовать последнюю часть url относящуюся к товару в ЧПУ
Т.е. должно получиться примерно так
https://site.ru/category1/subcategory34/zerkalo-na...
https://site.ru/category1/zerkalo-nastennoe

Всё бы хорошо, но после этого переименования нужно зарядить в .htaccess карту редиректов, которую нужно сгенерировать зная старую часть url и новую.
Т.е. имеем good1234 и zerkalo-nastennoe и нужно правило, которое сделает 301 редирект с
*/good1234 на */zerkalo-nastennoe сохранив путь до последнего слеша из введенного url

Сам в htaccess и регулярках шарю очень слабо, в основном нахожу примеры и адаптирую при необходимости, ну тут что-то вообще затык, не смог найти ничего рабочего, тупо условие не срабатывает.
Вот один из примеров
RewriteRule ^(.*)/$good1234 $1/zerkalo-nastennoe [R=301,L]


Редирект с явным прописыванием пути работает нормально
RewriteRule category1/subcategory34/good1234/(.*)$ category1/subcategory34/zerkalo-nastennoe/$1 [R=301,L]
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@dodo512
RewriteRule ^(.*)/good1234 /$1/zerkalo-nastennoe [R=301,L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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