3.1 KiB
Маршрутизация и ЧПУ (apelsincom)
Как адрес в браузере превращается в страницу. Проверено по .htaccess и urlrewrite.php.
Цепочка обработки (.htaccess)
- Принудительный HTTPS — любой http-запрос получает 301 на https.
- Существующий файл/папка отдаётся напрямую.
- Иначе запрос уходит в
bitrix/urlrewrite.php— механизм ЧПУ (SEF) Битрикса. - Если совпадения нет — на
/index.php. - Ошибка 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)