Initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Маршрутизация и ЧПУ (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)]]
|
||||
Reference in New Issue
Block a user