Налаштування прив'язки доменів до сайтів 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування прив'язки доменів до сайтів 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування прив'язки доменів до сайтів 1С-Бітрікс

Мультисайтовість у Бітриксі — одна з ключових можливостей, що дозволяє обслуговувати кілька сайтів з одного ядра. Прив'язка домену до сайту — перший крок, і тут є нюанси, які при неправильній налаштуванні призводять до того, що всі домени показують один і той же сайт або перенаправляють неправильно.

Як Бітрікс визначає поточний сайт

При кожному запиті ядро Бітрікса читає таблицю 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/ або той же /, якщо сайти розділяються тільки за доменом.

Конфігурація веб-сервера

Бітрікс відповідає за маршрутизацію всередині свого ядра, але веб-сервер повинен приймати запити до потрібних доменів і передавати їх до кореня Бітрікса.

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.

Маскування домену та URL-синоніми

Ситуація: є основний домен main-shop.ru та партнерський домен partner-shop.ru, який повинен показувати той же сайт, але з іншим брендингом. У Бітриксі це реалізується через перевірку $_SERVER['HTTP_HOST'] в init.php або в шаблоні сайту з умовним підключенням іншого шаблону — це не стандартна мультисайтовість, а спеціальне рішення.

Стандартна мультисайтовість передбачає різні шаблони, різні мови та різний контент для кожного сайту. Якщо потрібен один контент на різних доменах — використовуйте 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