Редирект через .htaccess всех вложенных URL (без родительского)


Дмитрий Орлов
623

Добрый день!

Решили отвязать карточки товара от раздела и вынести под отдельный префикс /tovar/.

Очень хочется минимизировать количество правил для .htaccess и сделать 1 правило на каждый раздел, а не каждую КТ.

Перечитал кучу статей, но не нашел правило, как сделать редирект со всех вложенных URL не затрагивая основной.

Может кто подскажет?


ivan-lev

arhinastya:
Перечитал кучу статей, но не нашел правило, как сделать редирект со всех вложенных URL не затрагивая основной.

+- как-то так


RewriteRule ^(category1|category2|category3)/(.+)$ /tovar/$1 [R=301,L]


Дмитрий Орлов

ivan-lev,

RewriteRule ^(catalog/gvozdi|catalog/molotki|catalog/anything)/(.+)$ /tovar/$1 [R=301,L]

Вот так получается?


miketomlin

catalog/ разместите перед «перечислением» 😉


Дмитрий Орлов

miketomlin:
catalog/ разместите перед «перечислением» 😉

RewriteRule ^catalog(gvozdi|molotki|anything)/(.+)$ /tovar/$1 [R=301,L]

Вот так?)


miketomlin

arhinastya:
Вот так?)

Смотрим в книгу, видим фигу? Нет, не так 🙂

———- Добавлено 21.04.2020 в 18:27 ———-

У товаров в разных разделах были одинаковые слаги?


Дмитрий Орлов

miketomlin:
Смотрим в книгу, видим фигу? Нет, не так 🙂

Получается, что так.

———- Добавлено 21.04.2020 в 18:27 ———-

miketomlin:

У товаров в разных разделах были одинаковые слаги?

Нет.

———- Добавлено 21.04.2020 в 17:36 ———-

miketomlin:
Смотрим в книгу, видим фигу? Нет, не так

RewriteRule catalog^(gvozdi|molotki|anything)/(.+)$ /tovar/$1 [R=301,L]

Вот так!

Но все равно не работает(


ivan-lev

arhinastya:
RewriteRule catalog^(gvozdi|molotki|anything)/(.+)$ /tovar/$1 [R=301,L]

RewriteRule ^catalog/(gvozdi|molotki|anything)/(.+)$ /tovar/$1 [R=301,L]

Ну, и вставлять в правильное место.. ))


Дмитрий Орлов

ivan-lev:
Ну, и вставлять в правильное место.. ))

Спасибо! Но все равно почему-то не работает.

Я и Options +FollowSymLinks и RewriteEngine On вынес наверх. Пытался запихнуть в <IfModule mod_rewrite.c> (сайт на битрикс). Но все равно не реагирует.

———- Добавлено 21.04.2020 в 17:54 ———-

Все, разобрался. Нужно было до <IfModule mod_rewrite.c> разместить.

Всем большое спасибо!

———- Добавлено 21.04.2020 в 17:59 ———-

Рано обрадовался. Теперь перенаправление работает, но на /tovar/gvozdi , tovar/molotki и т.д.


Sitealert

arhinastya:
Все, разобрался. Нужно было до <IfModule mod_rewrite.c> разместить.

Да неужели? С какого перепуга?

———- Добавлено 21.04.2020 в 18:24 ———-

arhinastya:
Решили отвязать карточки товара от раздела и вынести под отдельный префикс /tovar/

Заняться больше нечем?


ivan-lev

arhinastya:
Рано обрадовался. Теперь перенаправление работает, но на /tovar/gvozdi , tovar/molotki и т.д.

RewriteRule ^catalog/(gvozdi|molotki|anything)/(.+)$ /tovar/$2 [R=301,L]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *