Человеко-понятные URL своим обработчиком: единственная точка входа parse_path и whitelist маршрутов
Разбор задачи
Ставим простой роутинг до подключения тяжёлых MVC: режем REQUEST_URI пополам по query исключаем статические расширения и отправляем в switch по первому сегменту.
<?php
declare(strict_types=1);
/** @var non-empty-string */
$path = strtok($_SERVER['REQUEST_URI'] ?? '/', '?');
$segments = array_values(array_filter(explode('/', $path)));
if ($segments[0] === 'note' && ctype_digit($segments[1] ?? '')) {
require __DIR__ . '/pages/note-detail.php';
exit;
}
?>В продукте на Битрикс предпочтительнее стандартные правила ЧПУ и компоненты с поддержкой SECTION_CODE_PATH чтобы не поддерживать дубль маршрутизатора вручную.
Замечания перед выкладкой
Вносите правки только через среду с бэкапом и понятным diff. Если сниппет идёт в шаблон на Битрикс, проверьте конфликт с уже подключённым jQuery/UI и включите «отложенный» запуск там, где длинный главный файл может обрезать DOMContentLoaded.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии