Как создать второй сайт на 1с битрикс

Как создать второй сайт на 1с битрикс

Развертывание второго сайта на одном хостинге с использованием 1С-Битрикс требует учета архитектуры продукта: система поддерживает мультисайтовость, но требует правильной конфигурации окружения. Ключевой момент – организация структуры папок и корректная настройка веб-сервера (Apache или Nginx) для обработки запросов к новому домену или поддомену.

В файле bitrix/.settings.php необходимо задать параметры второго сайта, добавив новый элемент в массив ‘sites’ с уникальным идентификатором, доменным именем и указанием пути к папке сайта. При использовании главного модуля «Сайт» в административной панели нужно вручную создать второй сайт, указав идентификатор, директорию, привязку к шаблону и домену.

Для корректной работы важно настроить веб-сервер: в Apache – добавить виртуальный хост с новым ServerName и DocumentRoot, а в Nginx – соответствующий server-блок с root и server_name. Без этих изменений система не распознает второй сайт, даже если он создан в административной панели.

Также следует проверить права на директории и наличие файла .htaccess (или default.conf для Nginx) в папке второго сайта. Он должен корректно перенаправлять запросы к ядру Битрикс и обеспечивать правильную работу ЧПУ.

Настройка дополнительного домена у хостинг-провайдера

В панели управления хостингом (например, ISPmanager, cPanel или DirectAdmin) откройте раздел «Домены» или «Управление сайтами». Выберите опцию «Добавить домен» или «Привязать домен».

Укажите имя второго домена в формате example.ru без www. В поле «Корневая папка» задайте путь к директории, в которой размещаются файлы второго сайта. Например, если основная директория – /public_html, создайте подпапку /public_html/site2 и укажите её как корневую.

Убедитесь, что для домена активирован SSL-сертификат. Включите автоматическую выдачу Let’s Encrypt, если такая функция поддерживается. Без HTTPS сайт может блокироваться браузерами и вызывать ошибки при работе с API 1С-Битрикс.

Перейдите в настройки DNS у регистратора домена и пропишите A-запись, указывающую на IP-адрес сервера. Если используется проксирование через Cloudflare или аналогичные сервисы, добавьте CNAME-запись, соответствующую субдомену.

После внесения изменений дождитесь обновления DNS-записей – обычно это занимает от 15 минут до 24 часов. Проверить корректность можно с помощью утилит nslookup или онлайн-сервисов проверки DNS.

На этом этапе домен будет направлен на нужную директорию хостинга, и можно переходить к настройке второго сайта в административной панели 1С-Битрикс.

Добавление второго сайта в настройках веб-сервера

Добавление второго сайта в настройках веб-сервера

Для корректной работы второго сайта на 1С-Битрикс необходимо настроить виртуальный хост в конфигурации веб-сервера. Если используется Apache, откройте файл конфигурации httpd.conf или отдельный файл в папке sites-available, если работает модуль vhost. Для Nginx – внесите изменения в sites-available с последующей активацией через символическую ссылку в sites-enabled.

Укажите новый ServerName, например, site2.example.ru, и путь к корневой директории второго сайта. Важно, чтобы DocumentRoot указывал на подпапку текущей установки Битрикс, например /home/user/public_html/bitrix_second_site.

Пример конфигурации для Apache:

<VirtualHost *:80>
ServerName site2.example.ru
DocumentRoot "/home/user/public_html/bitrix_second_site"
<Directory "/home/user/public_html/bitrix_second_site">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

Для Nginx:

server {
listen 80;
server_name site2.example.ru;
root /home/user/public_html/bitrix_second_site;
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

После добавления виртуального хоста перезапустите веб-сервер командой systemctl restart apache2 или systemctl restart nginx. Убедитесь, что DNS-запись для второго домена настроена на IP сервера. Также проверьте, что корневая директория содержит файл .settings.php с правильной конфигурацией сайтов внутри Битрикс.

Создание нового сайта в административной панели Битрикс

Создание нового сайта в административной панели Битрикс

Перейдите в административную панель под учетной записью с полными правами. Откройте раздел НастройкиНастройки продуктаСайтыСписок сайтов.

Нажмите кнопку Добавить сайт. В появившейся форме укажите уникальный код сайта (латиницей, без пробелов), например: site2. Поле Название сайта заполняется произвольно – оно отображается только в панели администратора.

В поле Папка сайта укажите корневой каталог второго сайта относительно корня проекта, например: /site2/. Папка должна существовать физически на сервере, либо её необходимо создать заранее.

В разделе Домены добавьте один или несколько доменных имен, по которым будет доступен новый сайт. Указывайте домены без протокола, например: site2.example.ru. Один домен может принадлежать только одному сайту в системе.

Установите флаг Активность, чтобы сайт начал обрабатываться системой. Проверьте язык интерфейса и часовой пояс – они задаются индивидуально для каждого сайта.

Сохраните изменения. После этого необходимо настроить веб-сервер (Apache или Nginx) для обработки запросов к новому домену и убедиться, что DocumentRoot указывает на папку /bitrix, а не на подкаталог нового сайта.

Если используются ЧПУ и модуль «Главный модуль» настроен на поддержку множественных сайтов, убедитесь, что файл urlrewrite.php корректно обрабатывает запросы ко второму сайту.

Назначение директории для второго сайта в структуре проекта

Для корректной работы второго сайта в 1С-Битрикс необходимо создать отдельную директорию внутри корня веб-приложения. Эта директория будет использоваться как корневая для второго сайта и определяться в настройках многосайтовости.

  • Создайте директорию, например /site2/, в корне проекта наряду с основной директорией сайта (/).
  • Скопируйте в неё минимальный набор файлов: index.php, .htaccess (при необходимости), а также подкаталоги include, local или любые иные, специфичные для нового сайта.
  • В файле index.php пропишите подключение пролога Bitrix: require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); или полный пролог, если требуется.
  • Убедитесь, что структура новой директории не дублирует ненужные модули и компоненты, используемые с общего ядра.
  • В bitrix/.settings.php либо через административную панель задайте правила определения сайта по директории /site2/.

Ядро Bitrix (каталог /bitrix/) остаётся общим для всех сайтов, поэтому не копируйте его внутрь новой директории. Это обеспечит совместимость и централизованное обновление.

Важно: доступ к директории второго сайта должен быть настроен через веб-сервер. Убедитесь, что веб-сервер разрешает обработку PHP в подкаталоге и корректно обрабатывает ЧПУ при помощи .htaccess или конфигурации nginx.

Настройка параметров сайта в файле .settings.php

Файл .settings.php располагается в корне установки 1С-Битрикс и содержит конфигурацию ядра. Для добавления второго сайта необходимо вручную указать параметры подключения и идентификаторы сайтов.

Внутри массива ‘sites’ указывается список сайтов. Каждый элемент описывает параметры отдельного сайта. Пример добавления второго сайта:

'sites' => [
'default' => [
'LID' => 's1',
'DIR' => '/',
'DOMAIN_NAME' => 'example.ru',
],
'second' => [
'LID' => 's2',
'DIR' => '/second/',
'DOMAIN_NAME' => 'second.example.ru',
],
],

Поле ‘LID’ должно совпадать с кодом сайта, указанным в административной панели Битрикс в разделе Настройки > Настройки продукта > Сайты > Список сайтов.

‘DIR’ определяет корневую директорию сайта внутри проекта. Убедитесь, что путь существует физически, иначе при обращении к домену возникнет ошибка 404.

‘DOMAIN_NAME’ указывается без протокола и должен совпадать с доменным именем, прописанным в конфигурации веб-сервера (Apache, Nginx).

После внесения изменений кэш конфигурации необходимо сбросить. Для этого удалите директорию /bitrix/.settings.php и выполните пересборку через административный интерфейс или вручную с помощью скрипта bitrix/php_interface/init.php.

Изменения вступят в силу только после корректной настройки веб-сервера, соответствующего домена и правил маршрутизации. Убедитесь, что в .htaccess или конфигурации Nginx определены правила перенаправления на нужный index.php.

Связывание второго сайта с нужным инфоблоком или шаблоном

Связывание второго сайта с нужным инфоблоком или шаблоном

После настройки второго сайта в административной панели 1С-Битрикс необходимо обеспечить его корректную работу с определённым шаблоном и конкретными инфоблоками. Это делается через файл /bitrix/php_interface/init.php или через правила в настройках сайтов.

  • Для начала в настройках второго сайта в административной панели укажите уникальный шаблон сайта. Путь: Настройки → Настройки продукта → Сайты → Список сайтов. В поле «Шаблоны сайта» задайте условие, например, CSite::InDir('/second-site/').
  • Создайте отдельный шаблон в директории /bitrix/templates/ и укажите его для второго сайта. Это позволит избежать конфликтов с основным сайтом.
  • Для разграничения инфоблоков используйте разделение по SITE_ID. При создании инфоблока обязательно указывайте, к какому сайту он относится. Без этого инфоблок будет доступен на всех сайтах.
  • Если используются собственные шаблоны компонентов, разместите их в директории шаблона второго сайта: /bitrix/templates/ваш_шаблон/components/, чтобы обеспечить независимость от главного шаблона.
  • Избегайте использования одинаковых символьных кодов инфоблоков, особенно при работе с ЧПУ. Лучше использовать уникальные алиасы и структуру URL, специфичную для второго сайта.

Также можно использовать условную логику в init.php для подключения разных обработчиков или фильтров в зависимости от текущего SITE_ID:


if(SITE_ID == 's2') {
// Привязка к нужному инфоблоку
define("IBLOCK_NEWS_ID", 5);
}

Таким образом, вся логика второго сайта будет работать автономно, не затрагивая основной сайт и обеспечивая корректную загрузку контента, соответствующего его назначению.

Управление языковыми и региональными настройками второго сайта

Для корректного отображения контента второго сайта на одном хостинге необходимо отдельно настроить языковые параметры в административной панели 1С-Битрикс. В разделе «Настройки» – «Языковые настройки» добавьте нужный язык и укажите его идентификатор, уникальный для второго сайта. При этом следует задать корректные файлы локализации, чтобы интерфейс и системные сообщения отображались на выбранном языке.

В разделе «Настройки» – «Региональные настройки» важно настроить часовой пояс, валюту и формат даты/времени, привязанные именно к второму сайту. Это позволяет избежать конфликтов с основным сайтом и гарантирует правильное отображение региональных данных, например, цены товаров и сроки доставки.

Для мультиязычных сайтов используйте механизм привязки языка к домену или поддомену через настройку виртуальных хостов. В файле .htaccess или в настройках веб-сервера пропишите правила, которые будут автоматически переключать язык в зависимости от URL второго сайта.

Рекомендуется для каждого языка создавать отдельный шаблон сайта с соответствующими настройками локализации и включать в шаблон языковые файлы через функцию IncludeTemplateLangFile(). Это позволит гибко управлять переводами и адаптировать дизайн под региональные особенности.

Для SEO-оптимизации используйте тег hreflang, указывая на соответствующую версию второго сайта. Это минимизирует риски дублирования контента и улучшит индексацию поисковыми системами.

Важно проверить корректность параметров в файле /bitrix/php_interface/dbconn.php, если подключение к базе данных происходит с учетом языковых настроек. Не допускайте конфликтов идентификаторов языков и региональных параметров между сайтами.

В разделе «Настройки» – «Мультиязычность» активируйте необходимый режим работы, учитывая, что для второго сайта потребуется отдельное управление контентом на каждом языке. Для удобства администрирования рекомендуются специализированные модули локализации, доступные в маркетплейсе 1С-Битрикс.

Резюмируя, настройка языковых и региональных параметров второго сайта должна быть автономной и изолированной от первого, чтобы обеспечить корректное функционирование и точное соответствие локальным требованиям пользователей.

Проверка работы второго сайта и устранение типовых ошибок

Проверка работы второго сайта и устранение типовых ошибок

После развертывания второго сайта на одном хостинге с 1С Битрикс необходимо выполнить комплексную проверку функционала и настроек. Начните с подтверждения корректности привязки домена во вкладке «Сайты» административной панели. Неверно указанное имя домена ведёт к ошибкам 404 или перенаправлениям.

Проверьте, что корневая папка второго сайта содержит корректный набор файлов, включая index.php и .htaccess. Отсутствие или повреждение этих файлов часто вызывает сбои загрузки страниц.

Важно убедиться в правильной настройке виртуального хоста на сервере (Apache, nginx). Для nginx проверьте, что конфигурация содержит корректный параметр server_name, а для Apache – директиву ServerAlias с нужным доменом. Ошибки в этих настройках приводят к загрузке не того сайта или выдаче ошибки сервера.

Проверьте подключение к базе данных. Второй сайт должен использовать отдельную базу данных или префиксы таблиц. Если используется одиннаковый префикс, это вызовет конфликты данных. Ошибки подключения видны в логе /bitrix/php_interface/ и через админку.

Для проверки корректности путей используйте команду php bitrix/modules/main/tools/bitrix_sitemap.php в консоли, она выявит ошибки файлов и ссылок. Также рекомендуются стандартные инструменты разработчика браузера для мониторинга ответов сервера (статусы 200, 301, 404, 500).

Обязательно проверьте права доступа на папки второго сайта. Рекомендуемые значения – 755 для каталогов и 644 для файлов. Некорректные права вызывают ошибки записи или чтения, что отражается в работе компонента и административной части.

Если сайт использует кэширование, очистите кеш через административную панель или удалите содержимое папки /bitrix/cache/. Часто после копирования сайта старый кеш мешает корректному отображению и работе.

При обнаружении ошибки с загрузкой стилей и скриптов проверьте правильность настроек ЧПУ и URL Rewrite. Файл .htaccess должен содержать правила для второго сайта, которые не конфликтуют с основным.

Для диагностики ошибок используйте лог веб-сервера и файл /bitrix/logs/php_error.log. Ошибки с указанием путей и строк помогут быстро локализовать проблемные места в конфигурации или коде.

Регулярно сверяйте версию ядра Битрикс на обоих сайтах. Несовпадение версий модулей вызывает несовместимость и сбои. Для обновления используйте стандартный модуль обновлений.

В случае проблем с авторизацией или сессиями проверьте настройки cookie и домена в /bitrix/php_interface/dbconn.php. Конфликты сессий между сайтами решаются через корректную настройку SESSION_COOKIE_DOMAIN.

Вопрос-ответ:

Можно ли разместить второй сайт на том же хостинге, где уже есть сайт на 1С-Битрикс?

Да, на одном хостинге можно создать несколько сайтов, в том числе второй сайт на 1С-Битрикс. Для этого важно правильно настроить виртуальные хосты и папки, а также убедиться, что у вас достаточно ресурсов и лицензий, чтобы поддерживать оба проекта.

Какие настройки нужно изменить в панели управления хостингом для запуска второго сайта на 1С-Битрикс?

Необходимо создать отдельную папку для второго сайта и прописать в панели управления хостингом новый виртуальный хост с указанием этой директории. Также потребуется настроить доменное имя или поддомен, который будет указывать на эту папку. После этого можно устанавливать или копировать дистрибутив 1С-Битрикс в новую директорию.

Можно ли использовать одну базу данных для двух сайтов на 1С-Битрикс или нужно создавать отдельную базу для второго сайта?

Лучше создавать отдельную базу данных для каждого сайта. Это уменьшает риски конфликтов, облегчает резервное копирование и обслуживание. Хотя технически можно использовать одну базу с разными префиксами таблиц, такой подход усложняет управление и повышает вероятность ошибок.

Как правильно лицензировать второй сайт на 1С-Битрикс, если уже есть лицензия для первого?

Для каждого сайта на 1С-Битрикс требуется отдельная лицензия. Наличие лицензии для первого сайта не покрывает использование второго. Следует приобрести дополнительную лицензию или обратиться к партнеру 1С-Битрикс для получения информации о пакетных предложениях.

Как избежать проблем с производительностью при работе двух сайтов на одном сервере с 1С-Битрикс?

Важно следить за нагрузкой на сервер и распределять ресурсы. Рекомендуется использовать кэширование, оптимизировать базы данных, а также настраивать ограничения по использованию памяти и процессора для каждого сайта. Если ресурсы сервера ограничены, стоит рассмотреть возможность увеличения мощности или перехода на выделенный сервер.

Как на одном хостинге установить второй сайт на 1С-Битрикс, если уже есть работающий первый?

Для размещения второго сайта на том же хостинге с 1С-Битрикс нужно создать отдельную папку для второго проекта и настроить поддомен или дополнительный домен в панели управления хостингом. После этого можно скопировать дистрибутив 1С-Битрикс в новую папку и выполнить установку, используя новую базу данных или отдельные таблицы в существующей базе. Важно настроить права доступа и указать правильные параметры подключения к базе данных, чтобы сайты не мешали друг другу. Также следует проверить, что хостинг поддерживает несколько сайтов и не имеет ограничений по числу сайтов на аккаунте.

Какие особенности нужно учитывать при создании второго сайта на 1С-Битрикс на одном сервере, чтобы избежать конфликтов?

При добавлении второго сайта на том же сервере стоит обратить внимание на несколько моментов. Во-первых, необходимо выделить отдельную базу данных или использовать префиксы таблиц, чтобы данные первого и второго сайта не смешивались. Во-вторых, каждый сайт должен находиться в отдельной директории с собственным набором файлов и настроек. В-третьих, нужно правильно настроить веб-сервер (например, Apache или nginx) для корректной обработки запросов на разные домены или поддомены. Кроме того, важно следить за ресурсами сервера: с двумя сайтами нагрузка увеличивается, и может потребоваться оптимизация или расширение тарифного плана хостинга. Наконец, стоит предусмотреть регулярное резервное копирование обеих баз данных и файлов, чтобы не потерять данные при сбоях.

Ссылка на основную публикацию