Middle Роутинг и контроллеры Обязательно

urlrewrite.php и ЧПУ

Классический механизм маршрутизации строится на файле urlrewrite.php, который перенаправляет обращения к ЧПУ-адресам на физические страницы с комплексными компонентами. Правила обрабатываются по регулярным выражениям (CONDITION) с учетом приоритета сортировки и длины шаблона, а сам файл urlrewrite.php обязательно должен версионироваться в Git.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Файл urlrewrite.php
  • 2
    Правила перезаписи URL

Материалы

Проверь себя

После переезда на новый сервер разделы каталога открываются, а карточки товаров и все ЧПУ-страницы отдают 404. Где искать?

В корне сайта нет /urlrewrite.php или .htaccess не отправляет несуществующие пути на /bitrix/urlrewrite.php. Файл правил обычно не попадает в git, потому что его пишет визуальный редактор при сохранении SEF-компонента; восстанавливается переиндексацией на странице «Обработка адресов».

Два правила с CONDITION #^/catalog/# и #^/catalog/brands/# и одинаковым SORT. Какое сработает для /catalog/brands/apple/ и почему?

Второе: при равном SORT ядро ставит выше правило с более длинным CONDITION. Стоит удлинить первое правило лишними символами в регулярном выражении — и бренды начнут открываться каталогом.

Правило нашло страницу catalog/index.php. Кто решает, показать список, раздел или карточку товара?

Комплексный компонент на этой странице: CComponentEngine::guessComponentPath() сопоставляет остаток адреса с SEF_URL_TEMPLATES из параметров компонента и заполняет переменные вроде SECTION_CODE и ELEMENT_CODE.

Чем маршрут D7 на контроллер отличается от правила urlrewrite.php для нового раздела сайта?

Правило urlrewrite.php всегда ведёт на физический файл с компонентом. Маршрут в /local/routes/web.php вызывает действие контроллера напрямую, без файла и без регулярного выражения в массиве, и параметры приходят аргументами метода.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти