pro100taa
@pro100taa

Не полностью работает редирект. Почему?

Здравствуйте!

Вопрос в следующем. Необходимо сделать множество редиректов после изменений на сайте интернет-магазина. Для подкатегорий сделал следующий

RewriteEngine on

RewriteCond %{REQUEST_URI} ^(.*)(\/categoriya/podkategoriya\/)(\S+)$
RewriteRule ^(.*)$ categoriya-new/podkategoriya-new\/%3 [R=301,L]

Редирект сработал хорошо. Работает на всех товарах подкатегории. Именно товарах. Но также необходимо сделать редирект на с старого урл подкатегории на новую и со старого урл категории на новую категорию.

Делал редиректы так:

Redirect 301 categoriya https://site.ru/categoriya-new
Redirect 301 podcategoriya https://site.ru/podcategoriya-new

В итоге редирект в товарах перестает работать. Редирект на категорию получается. Я пытался редиректы на категорию и подкатегорию и сверху и снизу в htaccess поставить, но ничего не выходит.

Помогите справиться с этой ситуацией.

Т. е. редирект на категорию перебивает самый верхний в этом сообщении редирект на товары
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
@dodo512
Redirect 301 categoriya https://site.ru/categoriya-new

Это директива mod_alias и предназначена для редиректа не одного адреса, а всех адресов с указанным префиксом.
Вместо mod_alias используйте mod_rewrite.

RewriteEngine on

RewriteRule ^categoriya$    /categoriya-new  [R=301,L]
RewriteRule ^podcategoriya$ /podcategoriya-new  [R=301,L]

RewriteRule ^categoriya/podkategoriya/(\S+)$  /categoriya-new/podkategoriya-new/$1 [R=301,L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы