База знаний · Установка и настройка 1С-Битрикс
Настройка ЧПУ и модуля преобразования адресов в 1С-Битрикс
Включаем человекопонятные адреса: модуль преобразования адресов, urlrewrite.php, правила веб-сервера и ЧПУ для каталога.
ЧПУ (человекопонятные URL) превращают технические адреса вида /catalog/index.php?SECTION_ID=25&ELEMENT_ID=140 в понятные /catalog/smartfony/iphone-15/. В 1С-Битрикс за это отвечают модуль преобразования адресов и файл правил urlrewrite.php в корне сайта, работающие в связке с mod_rewrite (Apache) или try_files (nginx). Этот материал — практическое руководство: как включить ЧПУ, настроить их для комплексных компонентов каталога и новостей, разобраться в порядке правил и не получить массовые 404 после переключения.
Как устроено ЧПУ в 1С-Битрикс
Система работает в два уровня. Когда пользователь запрашивает красивый адрес, которого нет как физического файла, веб-сервер передаёт запрос скрипту urlrewrite.php. Тот перебирает правила (регулярные выражения) и находит, какому реальному скрипту и с какими параметрами отдать запрос. Второй уровень — сами комплексные компоненты (каталог, новости, блог): в их настройках задаются шаблоны путей, по которым компонент и строит, и разбирает ЧПУ. При включении ЧПУ в компоненте Битрикс автоматически дописывает нужное правило в urlrewrite.php.
Шаг 1. Проверяем веб-сервер: mod_rewrite и nginx
Без обработки правил на уровне веб-сервера ЧПУ не заработают. Что проверить:
| Веб-сервер | Что должно быть включено |
|---|---|
| Apache | модуль mod_rewrite активен, в .htaccess присутствует блок RewriteEngine On и правило, направляющее несуществующие пути на urlrewrite.php |
| nginx + Apache | в конфиге сайта есть try_files $uri $uri/ /bitrix/urlrewrite.php либо fallback на бэкенд Apache |
| nginx (php-fpm) | директива try_files направляет запрос на /urlrewrite.php при отсутствии файла |
В штатном .htaccess, который ставит сам продукт, нужный блок правил уже есть. Если файл был перезаписан вручную, восстановите стандартный из дистрибутива.
Шаг 2. Включаем модуль преобразования адресов
- Откройте Настройки → Настройки продукта → Настройки модулей.
- Выберите модуль Преобразование адресов.
- Включите преобразование адресов и, при необходимости, автоматическую генерацию таблицы правил.
- Сохраните настройки.
После включения модуля страница управления правилами становится доступна в разделе Настройки → Настройки продукта → Преобразование адресов. Здесь виден весь список правил, их можно редактировать, менять порядок и пересобирать по компонентам сайта.
Шаг 3. Настраиваем ЧПУ в компоненте каталога
Основную часть ЧПУ задаёт сам комплексный компонент. На примере каталога:
- Перейдите в публичный раздел с каталогом и включите режим правки.
- Откройте настройки комплексного компонента «Каталог» (bitrix:catalog).
- Найдите группу параметров «Настройки ЧПУ» / «Управление адресами» и включите ЧПУ.
- Задайте корневую папку раздела (например
/catalog/) и шаблоны путей: раздел —#SECTION_CODE_PATH#/, элемент —#SECTION_CODE_PATH#/#ELEMENT_CODE#/. - Сохраните. Битрикс предложит создать правило в таблице преобразования адресов — согласитесь.
Аналогично ЧПУ настраиваются для новостей (bitrix:news), блога и других комплексных компонентов. Если требуется доработать структуру URL под SEO-стратегию нетривиально, эту задачу лучше поручить специалистам по доработке ЧПУ.
Файл urlrewrite.php: как читать и править
Файл /urlrewrite.php в корне сайта — это массив правил. Каждое правило описывает:
- CONDITION — регулярное выражение, которому должен соответствовать входящий адрес;
- RULE — как преобразовать совпавшие группы в GET-параметры;
- PATH — физический скрипт, которому передаётся запрос;
- ID — идентификатор компонента, чьё это правило.
Пересобрать таблицу правил без ручного редактирования можно кнопкой пересоздания на странице модуля преобразования адресов — Битрикс просканирует компоненты сайта и восстановит корректный набор правил.
Символьные коды разделов и элементов
ЧПУ строятся из символьных кодов (полей CODE) разделов и элементов инфоблока. Если код не заполнен, красивый адрес построить не из чего — будет либо технический URL, либо 404.
- Включите автогенерацию символьного кода в настройках инфоблока → вкладка «ЧПУ»: транслитерация из названия, уникальность, нижний регистр.
- Для уже созданных элементов без кода запустите массовую генерацию кодов (транслитерацию названий).
- Проверьте, что коды уникальны в пределах раздела — дубли ломают адресацию.
Редиректы со старых адресов
Если сайт уже работал на технических адресах, после перехода на ЧПУ настройте 301-редиректы, чтобы сохранить позиции и внешние ссылки:
- постраничные редиректы со старых адресов на новые — через модуль SEO,
.htaccessили обработчик вurlrewrite.php; - обновите
sitemap.xmlи внутренние ссылки на новые адреса; - проверьте, что старый адрес отдаёт именно 301, а не 302 и не 404.
Комплексная перестройка URL-структуры под требования продвижения — это отдельная работа; при необходимости мы дорабатываем SEO-структуру на Битрикс целиком, вместе с редиректами и картой сайта.
Частые ошибки и их решение
- Все ЧПУ отдают 404. Не включён mod_rewrite / try_files, либо повреждён
.htaccessилиurlrewrite.php. Восстановите стандартные файлы из дистрибутива и пересоздайте таблицу правил. - Открывается не тот раздел. Нарушен порядок правил в
urlrewrite.php— общее правило перехватывает запрос раньше частного. Пересоберите таблицу автоматически. - Элемент недоступен по ЧПУ. У элемента или раздела не заполнен символьный код. Включите автогенерацию и запустите массовую транслитерацию.
- Работает главная, но не работают вложенные разделы. Не задан шаблон пути раздела
#SECTION_CODE_PATH#в настройках компонента. - Кириллица в адресе. Символьные коды должны генерироваться латиницей (транслитерация); кириллические коды приводят к некорректным и неудобным URL.
Если ЧПУ ведут себя нестабильно после переезда сайта, проверьте также конфигурацию нового сервера — часть проблем связана именно с ним, см. инструкцию по переносу сайта.
Итог
ЧПУ в 1С-Битрикс — это связка трёх уровней: обработка правил на веб-сервере (mod_rewrite / try_files), модуль преобразования адресов с файлом urlrewrite.php и настройки ЧПУ в самих комплексных компонентах. Чтобы всё работало стабильно, нужны включённый rewrite, корректный порядок правил и заполненные символьные коды разделов и элементов. При переходе со старых адресов обязательны 301-редиректы и обновлённая карта сайта. Если структура URL сложная или переезд рискует уронить трафик, эту работу стоит доверить специалистам.
Частые вопросы
Что такое ЧПУ и зачем они нужны в 1С-Битрикс?
ЧПУ — человекопонятный URL, то есть адрес вида /catalog/smartphones/ вместо технического /catalog/index.php?SECTION_ID=25. Такие адреса лучше воспринимаются пользователями, аккуратнее выглядят в выдаче и позволяют включить в путь ключевые слова и символьные коды разделов. В 1С-Битрикс за преобразование технических адресов в красивые отвечает модуль преобразования адресов и файл urlrewrite.php.
Чем отличается модуль преобразования адресов от компонентного ЧПУ?
Это два уровня одной системы. Компонентное ЧПУ настраивается в параметрах комплексного компонента (каталог, новости, блог) через шаблоны путей вроде #SECTION_CODE#. А модуль преобразования адресов и файл urlrewrite.php ловят входящий красивый адрес и решают, какому физическому скрипту его передать. На практике при настройке ЧПУ компонента Битрикс сам дописывает нужное правило в urlrewrite.php.
Нужен ли mod_rewrite для работы ЧПУ?
Да, на уровне веб-сервера должна быть включена обработка правил: на Apache это модуль mod_rewrite и файл .htaccess, на nginx — директива try_files, направляющая несуществующие пути на urlrewrite.php. В штатном окружении BitrixVM/BitrixEnv всё это уже настроено, поэтому там ЧПУ работает из коробки. На обычном хостинге проверьте, что mod_rewrite активен.
Почему после включения ЧПУ страницы отдают 404?
Самые частые причины: не включён mod_rewrite или try_files на веб-сервере, отсутствует или повреждён файл urlrewrite.php в корне сайта, у раздела или элемента инфоблока не заполнен символьный код, либо правила в urlrewrite.php идут в неверном порядке. Проверьте эти пункты по очереди и пересоздайте таблицу правил из настроек модуля.
Что делать со старыми адресами после перехода на ЧПУ?
Настройте постраничные 301-редиректы со старых технических адресов на новые ЧПУ, чтобы не потерять позиции и внешние ссылки. Редиректы можно прописать в .htaccess, через модуль SEO или обработчиком в urlrewrite.php. Обязательно обновите карту сайта sitemap.xml и внутренние ссылки, чтобы поисковики быстрее переиндексировали новые адреса.
Настроим ЧПУ и SEO-структуру вашего сайта на Битрикс
- Доработка ЧПУ и URL-структурыНастроим человекопонятные адреса каталога, разделов и элементов, наведём порядок в urlrewrite.php.
- Доработка SEO-структуры на БитриксРедиректы, карта сайта, метатеги и корректная адресация для продвижения.
- Администрирование 1С-БитриксНастройка веб-сервера, mod_rewrite и модулей платформы под задачи проекта.