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

12
A
На сайте с 23.11.2011
Offline
119
653

Добрый день!

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

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

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

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

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

+- как-то так


RewriteRule ^(category1|category2|category3)/(.+)$ /tovar/$1 [R=301,L]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
A
На сайте с 23.11.2011
Offline
119
#2

ivan-lev,

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

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

M
На сайте с 04.12.2013
Offline
223
#3

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

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
A
На сайте с 23.11.2011
Offline
119
#4
miketomlin:
catalog/ разместите перед «перечислением» ;)

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

Вот так?)

M
На сайте с 04.12.2013
Offline
223
#5
arhinastya:
Вот так?)

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

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

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

A
На сайте с 23.11.2011
Offline
119
#6
miketomlin:
Смотрим в книгу, видим фигу? Нет, не так :)

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

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

miketomlin:

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

Нет.

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

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

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

Вот так!

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

IL
На сайте с 20.04.2007
Offline
435
#7
arhinastya:
RewriteRule catalog^(gvozdi|molotki|anything)/(.+)$ /tovar/$1 [R=301,L]

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

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

A
На сайте с 23.11.2011
Offline
119
#8
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 и т.д.

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

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

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

arhinastya:
Решили отвязать карточки товара от раздела и вынести под отдельный префикс /tovar/
Заняться больше нечем?
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
IL
На сайте с 20.04.2007
Offline
435
#10
arhinastya:
Рано обрадовался. Теперь перенаправление работает, но на /tovar/gvozdi , tovar/molotki и т.д.

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

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий