# Маршрутизация и ЧПУ (apelsincom) Как адрес в браузере превращается в страницу. Проверено по `.htaccess` и `urlrewrite.php`. ## Цепочка обработки (`.htaccess`) 1. **Принудительный HTTPS** — любой http-запрос получает 301 на https. 2. Существующий файл/папка отдаётся напрямую. 3. Иначе запрос уходит в `bitrix/urlrewrite.php` — механизм ЧПУ (SEF) Битрикса. 4. Если совпадения нет — на `/index.php`. 5. Ошибка 404 → `/404.php`. Листинг директорий запрещён (`Options -Indexes`). Статике заданы сроки кэша. ## Таблица SEF-маршрутов (`urlrewrite.php`) | Условие URL | Компонент/обработчик | Файл | |---|---|---| | `/catalog/` | `bitrix:catalog` | `/catalog/index.php` | | `/store/` | `bitrix:catalog.store` | `/store/index.php` | | `/personal/order/` | `bitrix:sale.personal.order` | `/personal/order/index.php` | | `/personal/` | `bitrix:sale.personal.section` | `/personal/index.php` | | `/news/` | `bitrix:news` | `/news/index.php` | | `/rest/` | сервис REST Битрикса | `/bitrix/services/rest/index.php` | | `/bitrix/services/ymarket/` | выгрузка/заказы Яндекс.Маркета | `/bitrix/services/ymarket/index.php` | | `/mobileapp/jn/…` | мобильное приложение | `/bitrix/services/mobileapp/jn.php` | > [!info] API richcode.api — отдельно от urlrewrite > Внешний REST-интерфейс (`richcode.api`, путь по умолчанию `/api/`) перехватывается **не** через `urlrewrite.php`, а обработчиком самого модуля на старте страницы. Подробнее — [[REST API (richcode.api)]]. ## ЧПУ внутри каталога `bitrix:catalog` в SEF-режиме строит адреса по символьным кодам (из `catalog/index.php`): - раздел: `#SECTION_CODE_PATH#/` - товар: `#SECTION_CODE_PATH#/#ELEMENT_CODE#/` - фильтр: `#SECTION_CODE_PATH#/filter/#SMART_FILTER_PATH#/apply/` Поэтому у каждого раздела и товара обязателен заполненный **символьный код** — иначе ЧПУ-адрес не построится. > [!warning] Если новый раздел с ЧПУ не открывается > `urlrewrite.php` Битрикс генерирует сам при настройке компонентов. После структурных изменений пересоберите правила: Настройки → Настройки продукта → Обработка адресов (или пересохраните страницу с компонентом). Правило вручную обычно не пишут. ## См. также - [[Инфоблоки и каталог (apelsincom)]] - [[REST API (richcode.api)]] - [[Архитектура и структура каталогов (apelsincom)]]