ЧПУ на Битрикс через urlrewrite?



@JastaFly

Нужно настроить ЧПУ, для урла с GET запросом например:

https://my-site.ru/catalog/tovary-dla-geev/electro-samocaty/?brand=neo

Хочу чтобы ЧПУ выглядел так:
https://my-site.ru/catalog/brands/neo/
Для этого было написано правило в urlrewrite.php:

array (
            'CONDITION' => "#/catalog/brands/([A-Z,a-z]*)/#",
            'RULE' => "BRAND=$1",
            'PATH' => '/catalog/index.php',
            'SORT' => 3000,
        )

Но оно не работает, при переходе на страницу https://my-site.ru/catalog/brands/neo/, я получаю 404-ю. Подскажите пожалуйста, что я делаю не так?!


Решения вопроса 0


Ответы на вопрос 2



@gromdron

Вот прям вот так на стандартных компонентах вряд ли получиться.
Дело в том что у вас конфликт с SEF. С одной стороны вы скорее всего в SEF указали что путь к детальной странице у вас выглядит как: #SECTION_CODE_PATH#/#ELEMENT_ID# и в таком случае ваша фраза «brands» воспринимается как символьный код одного из разделов.

Я бы порекомендовал собрать свой комплексный компонент, который бы работал со следующими ЧПУ:
/catalog/brands/#BRAND_CODE#/ — деталка конкретного бренда
/catalog/brands/ — список брендов
/catalog/item/#ELEMET_CODE#/ — деталка конкретного элемента
/catalog/section/#SECTION_CODE_PATH#/ — отображение списка элементов в разделе
/catalog/ — отображение списка разделов.

А уже в качестве простых компонентов (в составе комплексного) использовать штатные компоненты битрикса.



@Mausglov

параметр SORT не работает. И значение ключа в массиве $arUrlRewrite тоже. Роль играет именно позиция правила в файле. У меня есть проект с одним кастомным правилом, и после установки обновлений очень часто приходится подправлять urlrewrite.php.
В случае интернет магазина этот файл может меняться системой гораздо чаще, при редактировании страниц в публичной части.
поставьте решение «Сотбит — SEO умного фильтра» или аналог и не парьтесь

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

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