У сайта на Битриксе решили привести в порядок каталогизацию, и дабы впредь не мандражировать и не бегать с лишними переадресациями, при тасовках по разделам, было решено усреднить все товары на "виртуальный" раздел, т.е. ссылка для любых товаров получилась вида сайт/catalog/раздел для всех/наименование товара, вместо сайт/catalog/раздел1/подраздел1/наименование товара
Но не хочется ведь терять проиндексированные страницы, поэтому была попытка настроить 301 по типу
Redirect 301 /catalog/старый раздел/
https://сайт/catalog/раздел для всех/
но вылезло 2 проблемы, 1 он начинает уводить страницу раздела на "раздел для всех", но это вроде вылечилось точной
Redirect 301 /catalog/старый раздел/.
https://сайт/catalog/раздел для всех/
Хотя не могу быть уверенной что это правильно.
И тут за дело взялось
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
которое логично ставит в конце слеш и новоиспеченный адрес говорит что это не он и все равно кидает на 404
пробовала последнюю строчку выше заменить на
RewriteRule ^(.+)/$ $1 [R=301,L]
и он падает в такой цикл что страница вообще перестает грузиться.
ставить в новом адресе / после .html ... наверное не хотелось бы. А откуда он его берет хз, так бы все ровненько встало.
пока писала вроде нашла рабочий вариант // поправка, все равно кидает в цикл :( и почему-то в яндекс браузере под админом редиректит без слеша, а в мозиле гостем слеш так и остается
RewriteRule ^catalog/раздел 1/раздел2/(.+)$ /catalog/раздел для всех товаров/$1 [L,R=301]
RewriteCond %{REQUEST_URI} \..+$
# Если файл содержит точку.
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Исключить слеш.
Боюсь спугнуть, потому что 22 строки перенаправлений будет, ночером буду проверять.
Вот такой вышел... то ли вопрос, то ли ответ. Может кому пригодится, а я буду признательна за идеи