Привязка доменов к сайтам в 1С-Битрикс: настройка и оптимизация
Приходит запрос: на одном сервере два домена, а открывается один и тот же сайт. Знакомая ситуация? Мы, как команда битрикс-разработчиков с 8-летним опытом, часто сталкиваемся с такой задачей. Только за последний год мы настроили привязку доменов для 50+ проектов — от простых интернет-магазинов до сложных мультиязычных порталов. Разбираем, почему так происходит и как настроить корректно, чтобы каждый домен вёл на свой сайт, и при этом сэкономить бюджет на обслуживание.
Как Битрикс определяет текущий сайт и почему возникают проблемы?
При каждом запросе ядро Битрикс читает таблицу b_lang и ищет запись, у которой поле SERVER_NAME совпадает с HTTP-заголовком Host входящего запроса. Найденный LID (двубуквенный код сайта) используется далее для всех операций: выбора шаблона, инфоблоков, языка и т.д.
SELECT LID, DIR, NAME, SERVER_NAME FROM b_lang WHERE ACTIVE = 'Y';
Если SERVER_NAME не совпадает ни с одной записью — Битрикс использует первый сайт по умолчанию или возвращает ошибку в зависимости от конфигурации. Это и есть причина, когда «все домены показывают один сайт». Мы видим эту проблему в каждом третьем проекте, где не была выполнена настройка доменов.
Как добавить домен к сайту через административную панель?
В /bitrix/admin/site_edit.php?LID=<код_сайта> заполняется поле «Доменное имя сервера» (SERVER_NAME). Здесь вписывается домен без http:// и без слеша: example.com.
Если сайт должен работать и на www.example.com, и на example.com — выберите один из них как основной, второй настройте как редирект на уровне веб-сервера (nginx/Apache), не через Битрикс. Не пытайтесь указать оба в SERVER_NAME — поле не поддерживает несколько значений.
Поле DIR — это путь к директории сайта относительно корня. Для основного сайта — /. Для второго сайта на том же сервере — /second/ или тот же /, если сайты разделяются только по домену. В 80% случаев проблема решается именно правильным заполнением DIR.
Конфигурация веб-сервера: что нужно знать?
Битрикс отвечает за маршрутизацию внутри своего ядра, но веб-сервер должен принимать запросы к нужным доменам и передавать их в корень Битрикса.
Nginx: для каждого домена отдельный server {} блок или общий блок с server_name example.com example2.com. Документ-рут один и тот же — корень Битрикс-инсталляции.
server {
listen 80;
server_name example.com www.example.com;
root /var/www/bitrix;
# ... стандартная конфигурация Битрикс
}
HTTPS: для каждого домена нужен отдельный SSL-сертификат или wildcard/multi-domain сертификат. Let's Encrypt выдаёт сертификаты на несколько доменов через certbot --domains example.com,example2.com. Без HTTPS настройка привязки доменов теряет смысл — поисковики штрафуют сайты.
Как настроить мультисайтовость за 5 шагов?
- Создайте новый сайт в административной панели (код LID, название, язык).
- Укажите домен в поле SERVER_NAME.
- Определите DIR: если сайты разделяются только доменом, ставьте
/для обоих. - Настройте веб-сервер: отдельный server block для каждого домена с общим корнем.
- Выпустите SSL-сертификаты для каждого домена и протестируйте редиректы.
Этот процесс занимает от 1 до 3 дней у опытного инженера. У нас он отработан до автоматизма — за счёт готовых шаблонов конфигураций.
Почему мультисайтовость на Битрикс выгоднее отдельных CMS?
Сравните: одно ядро, единый пул обновлений, общие пользователи и модули — против нескольких изолированных установок. Вот таблица:
| Параметр | Одна CMS на три домена | Три отдельных установки |
|---|---|---|
| Обновления | Один набор | Три набора |
| Расход памяти | Ниже (ядро одно) | Выше (три ядра) |
| Сложность настройки | Выше (мультисайт) | Ниже (каждый сам) |
| Скорость разработки | Выше (общие модули) | Ниже (дублирование кода) |
Мы на практике видим, что мультисайтовость в 2–3 раза сокращает время на обновление и обслуживание. А затраты на лицензии снижаются на 40% по сравнению с покупкой редакции «Бизнес» для каждого сайта отдельно.
Маскировка домена: когда она нужна?
Ситуация: есть основной домен main-shop.ru и партнёрский домен partner-shop.ru, который должен показывать тот же сайт, но с другим брендингом. В Битриксе это реализуется через проверку $_SERVER['HTTP_HOST'] в init.php или в шаблоне сайта с условным подключением другого шаблона — это не стандартная мультисайтовость, а кастомное решение.
| Подход | Контент | Шаблоны | SEO |
|---|---|---|---|
| Мультисайтовость | Разный | Разные | Чистый |
| Маскировка | Один и тот же | Может отличаться | Риск дублей |
Стандартная мультисайтовость предполагает разные шаблоны, разные языки и разный контент для каждого сайта. Если нужен один контент на разных доменах — используйте canonical URL в <head> для указания основного домена и избегания дублирования в SEO.
Как выполнить переезд на новый домен?
При смене домена обновляете SERVER_NAME в b_lang, затем проверяете:
- Настройки
$_SERVER['HTTP_HOST']в/bitrix/.settings.php(если прописан явно) - URL сайта в настройках модулей:
COption::GetOptionString("main", "server_name")— в некоторых версиях хранится там - Ссылки в контенте инфоблоков — абсолютные ссылки вида
http://old-domain.ru/...придётся заменять через SQL-запросы кb_iblock_element_prop_s*иb_iblock_element - Email-шаблоны в модуле
main— часто содержат захардкоженные URL
После переезда обязательно настройте 301 редирект со старого домена на новый. Потери трафика могут достигать 30% без редиректов.
Чек-лист типичных ошибок
- Не заполнено поле DIR — второй сайт работает нестабильно.
- Забыли про SSL — браузеры ругаются, SEO страдает.
- Не настроены редиректы — потеря трафика и дубли.
- Абсолютные ссылки в контенте — после переезда картинки не грузятся.
Проверьте всё по чек-листу перед запуском.
Что входит в нашу работу по настройке привязки доменов
Мы выполняем настройку под ключ, включая:
- Аудит текущих доменов и таблицы
b_lang - Конфигурацию веб-сервера (nginx/Apache) с SSL-сертификатами
- Настройку мультисайтовости или маскировки
- Проверку canonical URL и устранение дублей
- Тестирование всех доменов (редиректы, HTTPS, скорость)
- Документацию и передачу доступов
Оцениваем проект после анализа — свяжитесь с нами, чтобы получить консультацию. Обычно базовая настройка одного сайта занимает от одного дня до трёх, в зависимости от сложности (SSL, редиректы, миграция контента). Закажите настройку у нас — мы гарантируем документированную схему и готовое решение.
Подробнее о мультисайтовости читайте в официальной документации.







