Файлы конфигурации Битрикса, шаблоны сайта и BX_PERSONAL_ROOT в мультисайте
Два типа «настроек» в корне проекта
В типовой установке 1С‑Битрикс модули и ядро опираются на PHP‑файлы в каталоге /bitrix. Отдельно стоит держать в голове пару точек входа, которые чаще всего трогают при переносах и отладке окружения:
/bitrix/.settings.php— параметры подключения к БД, кешу, сессиям и другим подсистемам в актуальном формате (в новых версиях это основной «центр правды» после миграций с устаревших вариантов)./bitrix/php_interface/dbconn.php— legacy‑файл с константами БД; на старых или смешанных проектах он ещё живёт рядом со.settings.php, и расхождение между ними — частая причина «подключается не та база» после копирования файлов.
Перед правками делайте резервную копию и правьте только на тестовой копии сайта: ошибка в синтаксисе PHP или в учётных данных мгновенно выводит площадку из строя.
Привязка шаблонов к сайту
Если визуальная часть «слетела» после импорта БД или переноса файлов, первое место проверки — админка: Настройки → Настройки продукта → Сайты → Список сайтов, далее редактирование нужной записи (например, для s1 это форма вида /bitrix/admin/site_edit.php?lang=ru&LID=s1). Там задаётся активный шаблон и порядок их подключения для конкретного LID.
Когда нужно массово или скриптово сравнить факт в базе, связь шаблонов с сайтами лежит в таблице b_site_template. Восстановление «как было на боевой копии» часто сводится к переносу соответствующих строк между базами после того, как сами файлы шаблонов уже лежат в /local/templates/ или /bitrix/templates/.
BX_PERSONAL_ROOT: отдельное дерево под домен
Константа окружения BX_PERSONAL_ROOT — штатный способ заставить второй домен использовать собственный набор персональных каталогов (кеш, композитный кеш, php_interface конкретного сайта и т.д.), не размножая полную установку ядра. В документации и коде платформы к персональной зоне относят, в частности, сегменты вроде cache, managed_cache, stack_cache, а также дерево шаблонов там, где оно должно быть изолировано от основного виртуального хоста.
Значение задаётся так, чтобы веб‑процесс PHP видел переменную до подключения prolog_before.php. На Apache через модуль окружения:
SetEnv BX_PERSONAL_ROOT "/srv/bitrix_sites/example_com"На связке Nginx → PHP‑FPM удобно прописать переменную в пуле FPM ([www] или отдельный пул под второй домен):
env[BX_PERSONAL_ROOT] = /srv/bitrix_sites/example_comЕсли вместо FPM используется fastcgi напрямую с php‑cgi или аналогом, можно передать параметром:
fastcgi_param BX_PERSONAL_ROOT /srv/bitrix_sites/example_com;Важно: путь должен быть одним и тем же для всех запросов к данному виртуальному хосту, и директория реально должна существовать с корректными правами пользователя процесса PHP — иначе кеш и подключаемые файлы сайта начнут вести себя непредсказуемо.
Сжатый вывод
- Для связки «ядро ↔ база» сверяйте и
.settings.php, и наличие/содержимоеdbconn.phpна legacy‑установках. - Шаблоны привязываются через админку сайтов; резерв проверки — таблица
b_site_template. BX_PERSONAL_ROOTизолирует персональные каталоги при мультисайте; задаётся на уровне Apache, пула FPM илиfastcgi_paramв Nginx.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии