Files
obsidian/Магазин обуви (apelsincom)/Маршрутизация и ЧПУ (apelsincom).md
2026-07-06 13:05:56 +03:00

43 lines
3.1 KiB
Markdown

# Маршрутизация и ЧПУ (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)]]