0  /  28

Многосайтовость

Содержание

Введение

  Особенности

Особенностями системы многосайтовости являются:

  • единые права на управление модулями;
  • единый набор бюджетов пользователей;
  • единая система ведения статистики.

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

  Когда использовать многосайтовость

Многосайтовость или отдельные инсталляции?

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

Многосайтовость лучше, если:

  • планируется центральное администрирование и разработка: есть администратор проекта, который видит всю информацию всех сайтов, проект поддерживается одним подрядчиком на уровне PHP, подрядчик будет иметь доступ к данным и коду всех сайтов (и будущим тоже);
  • разделение информации скорее контентное, то есть возможность сделать «админов» на каждый сайт, которые управляют только своими «новостями»;
  • аудитория проектов едина, и им будет понятна сквозная авторизация на всех сайтах.

Отдельные инсталляции предпочтительнее:

  • если поддержку предполагается вести разными подрядчиками на уровне PHP;
  • если критично важно не показывать данные одного сайта команде, поддерживающей другой сайт (не все объекты внутри системы могут быть разделены по сайтам);
  • конечные посетители не воспринимают подсайты как «дружественные проекты» и нельзя включать сквозную авторизацию. (Пользователи не понимают, почему их данные уже есть на новом и совсем другом для них сайте. Для них непонятно, почему попытка зарегистрироваться на других сайтах с одним логином приводит к ошибке.)

  Сайты в Bitrix Framework

В Bitrix Framework имеется возможность на базе одного экземпляра продукта создавать и поддерживать неограниченное количество сайтов (кроме лицензии «Старт», в которой допускается создание только двух сайтов).

В рамках системы сайт – это совокупность:

  • Учетной записи в базе данных. Создается в Административном разделе (Настройки > Настройки продукта > Сайты > Список сайтов), включает в себя следующие основные параметры:
    • Идентификатор – набор символов для идентификации;
    • Доменное имя – одно или несколько доменных имен;
    • Папка сайта – путь к каталогу, в котором будет храниться публичная часть;
    • Формат времени;
    • Название веб-сайта;
    • URL сервера (без http://) – доменное имя по умолчанию (например, www.site.ru);
    • E-Mail адрес по умолчанию;
    • DocumentRoot. Если многосайтовость реализуется на разных доменах, то в данном параметре должен храниться путь к корню сайта в файловой системе сервера;
    • Язык;
    • Региональные настройки, включающие:
      • Формат даты;
      • Формат даты и времени;
      • Первый день недели;
      • Формат имени;
      • Кодировка;
      • Направление текста.
    • Условия подключения шаблонов. Каждый сайт может иметь более одного [ds]шаблона[/ds][di] Шаблон дизайна – код разметки, в котором определяется внешний вид сайта: расположение различных элементов на нём, художественный стиль и способ отображения страниц. Включает в себя html-код, графические элементы, таблицы стилей, дополнительные файлы для отображения контента. Может также включать в себя шаблоны компонентов, шаблоны готовых страниц и сниппеты.

      Подробнее...[/di] для отображения своей публичной части, каждый такой шаблон может быть подключен по тому или иному условию.
  • Публичная часть – совокупность страниц, лежащих в "папке сайта" и принадлежащих этому сайту.
  • Настройки – каждый модуль системы может иметь ряд настроек, связанных с сайтом.
    Например, у модуля Информационные блоки эти настройки представляют собой привязку информационного блока к тому или иному сайту, а у модуля Техподдержка – привязку к сайту статуса, категории обращений и т.п.

Важно! В публичной части ID текущего сайта хранится в константе SITE_ID.



Использование многосайтовой версии

При создании сайта CMS устанавливается только в корневой каталог веб-сервера. После установки системы статические страницы и файлы, предназначенные для вывода в разных зеркалах сайта (например, языковых), размещаются в соответствующих подпапках корневого каталога. Если на одном и том же хостинге вы создаёте несколько сайтов, то нужно проинсталлировать систему в корневой каталог каждого из них. Очевидно, что такой подход приводит к полной децентрализации управления вашими проектами. Более того, дисковое пространство хостинга расходуется не оптимально.

Система Bitrix Framework разработана с учетом требований компаний, желающих поддерживать несколько сайтов (например, языковых зеркал или тематических секций). Концепция многосайтовости требует существенно меньших ресурсов для поддержки проектов и позволяет управлять ими из одной точки.

Ядро системы позволяет использовать следующие типы URL для идентификации сайтов, привязываемых к системе:

  • относительные, по папкам (/ru/, /en/) – для работы зеркал сайта на одном домене под управлением одной системы;
  • абсолютные, по домену (www.site.ru) – для работы различных сайтов под управлением одной системы;

Для создания нескольких сайтов без установки системы в корневой папке каждого из них или для создания нескольких сайтов, не располагая их в подпапках корневой папки, следует создать два веб-сервера (или виртуальных хоста одного веб-сервера) с разными корневыми папками и в каждой из них, используя средства операционной системы, создать symbolic links (символьные ссылки) папок /bitrix и /upload.

Итак, общие сущности всех проектов на одном хостинге – папки /bitrix, /upload и база данных. Разделение сайтов осуществляется по статическим страницам сервера и по одноимённому полю объектов базы данных (новостей, опросов и т.п.).

Важно:

В любом из режимов многосайтовости используется единое ядро и единая база данных. В результате:

  • невозможно использование многосайтовости на разных редакциях программы;
  • невозможно создание раздельных администраторов для разных сайтов;
  • оба сайта должны использовать одну и ту же кодировку.

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



Чем определяется количество сайтов в системе

Система «1С-Битрикс: Управление сайтом» позволяет создавать несколько сайтов с применением одной копии (лицензии) продукта, размещая ядро и базу данных системы в единственном экземпляре на сервере.

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

Согласно лицензионному соглашению, на каждой копии продукта может быть создано неограниченное количество cайтов (в рамках технических возможностей), использующих общее ядро и базу данных. Исключение составляет редакция «Старт», для которой доступно создание двух сайтов.

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

Языковые версии сайта

Введение

Очень часто возникает вопрос: для проекта необходимо представить на сайте материалы на разных языках, потребуется ли для этого покупать дополнительные лицензии на сайты?

Многосайтовость и языковые версии сайта – это разные понятия, хотя иногда взаимосвязанные. При необходимости языковые версии можно реализовать и как отдельные языковые папки (разделы) в составе одного сайта, и как отдельные сайты.

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

  Разные языковые папки

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

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

Обратите внимание!

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


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

Для задания разных шаблонов для разных папок в этом случае в настройках сайта нужно выбрать условие для отображения шаблона "для файла или папки" и ввести в поле название папки. Например: /ru/

  Языковые версии как отдельные сайты

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

Обратите внимание!

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


Многоязычность

  Что выбрать?

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

  • В пределах одного сайта сделать отдельные папки для разных языков.
  • Сделать разные сайты с отличающимися доменными именами на одной лицензии.

У каждого из этих вариантов есть плюсы и минусы.

При выборе первого способа могут возникнуть проблемы с анализом статистики посещений раздельно по языковым разделам, с разделением валют для различных языков, с правами на заказы, созданные в различных языковых разделах, с гибким позиционированием рекламы или веб-форм на сайте. Кроме того, для создания языковых версий сайтов как отдельных языковых папок потребуется хорошее знание системы и программирования высокого уровня, связанного с корректным распознанием необходимой пользователю языковой версии проекта. Зато при резервном копировании и восстановлении сайта не потребуется дополнительных действий со стороны администратора.

Во втором варианте можно раздельно управлять Интернет-магазином, эффективно анализировать статистику, управлять валютами, разграничивать доступ к заказам и т.д. А минусами могут быть необходимость настроек симлинков, веб-сервера Apache, особенности резервного копирования и др.

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

  Разноязычные сайты на одной лицензии

Количество сайтов на разных языках может быть [dw]неограниченным[/dw][di]Для любых редакций, кроме редакций Первый сайт и Старт. Если владельцам этих редакций понадобится увеличить количество сайтов, то необходимо будет перейти на другую редакцию.[/di]. Пример многоязычного сайта - сайт Битрикс24 в пространстве .com:

Нажмите на рисунок, чтобы увеличить

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

Выбор и настройка параметров языка публичного раздела выполняется отдельно для каждого сайта в [dw]форме создания и редактирования[/dw][di]Параметры[/di] (Настройки > Настройки продукта > Сайты > Список сайтов). Дополнительно в [ds]Региональных настройках[/ds][di]Региональная настройка - набор параметров, которые имеют разные значения в зависимости от культурных особенностей той или иной местности.

Подробнее ...[/di] можно определить формат показа даты и времени для используемого на сайте языка.

  Разноязычная информация в пределах одного сайта

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

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

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

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

Примечание: Необходимо различать языковые настройки для публичной и административной части сайта. Подробнее про настройки языка интерфейса административной части сайта будет рассказано в главе [ds]Управление интерфейсом[/ds][di]Администратор сайта работает со всем богатым функционалом продукта "1С-Битрикс: Управление сайтом" из Административного раздела. Мы постарались сделать интерфейс административного раздела удобным, понятным, логичным.

Подробнее ...[/di].


Технология переноса посетителей между сайтами

  Для чего нужно переносить cookie

Особенностями многосайтовой системы являются:

  • единые права;
  • единый набор бюджетов пользователей;
  • единая система ведения статистики.
  • и т.п.

Исходя из этого, становится актуальной задача распознать одного и того же посетителя, приходящего на разные сайты c разными доменными именами в рамках одного портала.

Распознавание посетителей осуществляется с помощью файлов [ds]cookie (куков)[/ds][di] Это текстовая строка информации, которую веб-сервер передает в браузер посетителя сайта и которая сохраняется в файле на устройстве посетителя. Как правило, используется для определения уникальности посетителя, времени его последнего визита, личных настроек, уникального идентификатора корзины покупок и т.д.

Подробнее...[/di], представляющих из себя информацию, передаваемую между веб-сервером и браузером и хранимую только на локальном диске посетителя.

Теперь постараемся объяснить на примере суть проблемы:

  • При первом заходе посетителя на сайт A ему выдаются ряд идентификаторов, используемых разными модулями (например, идентификатор посетителя в модуле статистики или идентификатор покупателя в модуле интернет-магазина и т.д.), которые запоминаются в хранимых cookie, принадлежащих A.
  • Когда посетитель в следующий раз возвращается на этот же сайт A, он будет «узнан» благодаря информации хранимой в cookie, принадлежащих А.
  • Теперь представим, что этот же посетитель пришел на сайт B. Возникает задача «узнать» его как посетителя в недавнем прошлом cайта A. Под термином «узнать» здесь понимается получение идентификаторов, выданных ему на A. Проблема осложняется тем, что если доменное имя B отличается от доменного имени A, то информация, хранимая в cookie, принадлежащих сайту A, не может быть получена при заходе посетителя на сайт B. Также есть обратная проблема – cookie, устанавливаемые с сайта A (и на этот же сайт A) не могут быть установлены на сайт B. Такова политика безопасности браузеров.

Для решения вышеописанных проблем используется технология переноса cookie посетителя между разными сайтами с разными доменными именами и принадлежащих одному порталу. Она имеет также название UserMultiSiteTransfer.

  О технологии UserMultiSiteTransfer

Алгоритм работы технологии можно описать так:

  • Когда посетитель заходит на сайт A, идентификаторы, выдаваемые ему, будут сохраняться в cookie с помощью функции CMain::set_cookie, основная задача которой не только установить cookie для текущего сайта A, но и запомнить данные этого cookie для дальнейшего распространения его на другие сайты B, C, D.
  • В конце визуальной части эпилога вызывается функция CMain::ShowSpreadCookieHTML. В результате получится, что cookie, установленный на сайте A, будет скопирован (перенесен) на другие сайты – B, C, D.
  • Аналогично происходит и для других сайтов. Если посетитель, зайдя на сайт B, получит какой-либо идентификатор, который необходимо сохранить в cookie, то этот идентификатор будет также сохранен и для других сайтов A, C, D. Таким образом, мы добиваемся единого набора cookie для всех сайтов одного портала.

Использование данной технологии позволяет:

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

Другие модули также активно используют эту методику.

Примечание:

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


Конфигурирование многосайтовости

  Режимы многосайтовости

Внимание! Если система размещена на виртуальной машине BitrixVM, то при конфигурировании многосайтовости нужно не править файлы виртуальной машины, а использовать пункт административного меню.

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

  • Многосайтовость на одном домене. (Старое название: Многосайтовость по первому способу.) Продукт и все сайты работают под управлением одной копии веб-сервера Apache.
  • Многосайтовость на разных доменах. (Старое название: Многосайтовость по второму способу.) Каждый сайт работает под управлением отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера.

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

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

Обе конфигурации будут рассмотрены на примере создания многосайтовой системы, состоящей из двух сайтов:

  • www.site1.com - корпоративный сайт компании
  • www.site2.com - Интернет-магазин компании

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

Примечание: Если инфоблок будет использован на нескольких сайтах в режиме многосайтовости, то должны быть отмечены все необходимые сайты в поле Сайты.

  Когда создавать на одном домене

Многосайтовость на одном домене рекомендуется:

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

В этом случае URL будут представлены как:

http://example.com/s1
http://example.com/s2

или как:

http://example.com/
http://example.com/s2

  Когда создавать на разных доменах

Многосайтовость на разных доменах рекомендуется:

  • если тематика создаваемых сайтов разная или требуется создание сайтов с уникальными URL;
  • если вы используете выделенный сервер или на разделяемом хостинге можете настроить раздельные веб-сервера.

Использование многосайтовости на разных доменах так же позволяет исключить из URL-ов на сайте лишние подкаталоги /s1/ или /s2/ и начинать формирование URL адресов прямо от каталога "/". То есть адреса сайтов будут иметь вид:

http://www.example.ru/
http://www.example.com/
http://www.second.example.ru/


Создание и настройка сайта

  Основные настройки

Перед настройкой системы на работу с несколькими сайтами необходимо создать новый сайт. Это осуществляется в Административном разделе на странице Настройки > Настройки продукта > Сайты > Список сайтов. В момент добавления записи о новом сайте в таблицу необходимо указать следующие параметры:

  • идентификатор сайта – двухсимвольная комбинация, например: ru, en, de, s1, s2 и т.п.
  • название – произвольное название, наряду с идентификатором используется в различных административных формах для указания привязки к тому или иному сайту.
  • доменное имя – указываются доменные имена, которые соответствуют данному сайту.
Примечание:

Доменные имена задаются в отдельной строке (одно имя на строку).

Каждое доменное имя является «маской», т.е. может включать субдомены. Например, по имени site.ru могут быть выбраны www.site.ru или www1.site.ru. В данном случае site.ru частично входит в состав всех трех доменных имен.

Форма создания/редактирования

Начиная с 11-ой версии возможно использование кириллических доменных имен.


Важно!

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

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

Например, если для http://demo.bitrixsoft.com/ вместо demo.bitrixsoft.com указано demo.bitirxsoft.com (ошибка в написании второго i), то в код страниц http://demo.bitrixsoft.com/ будет добавлен код вида:

<IMG style="width:0px; height:0px; border: 0px" 
src="http://demo.bitirxsoft.com/bitrix/spread.php?
s=QklUUklYX1NNX0dVRVNUX0lEATk5NDgBMTE5MTU5NDU0OAEvAQECQklUUkl
YX1NNX0xBU1RfVklTSVQBMTAuMTAuMjAwNiAxODoyOTowOAExMTkxNTk0NTQ4AS8BAQI%3D&
k=9e8de698c64709edf2e76202279ce889"></IMG>

В результате посетителям http://demo.bitrixsoft.com/ будет выполняться показ всплывающих окон сайта с доменным именем demo.bitirxsoft.com:


Примечание:

Чтобы избежать проблем в случае, когда доменные имена различных сайтов частично совпадают, следует использовать индекс сортировки. Тогда при выборе сайта по доменному имени произойдет сравнение индекса сортировки: будет использован сайт с меньшим значением индекса.

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

  • Папка сайта – задается папка, в которой расположено информационное содержимое сайта, его разделы и страницы.

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

  • Сортировка – указывается численный параметр, определяющий порядок сайта в общем списке.

    Но не только. В ряде случаев при добавлении второго сайта могут не применяться указанные ему шаблоны. Эта проблема вызвана особым механизмом выбора сайтов. Так, при содержании в имени второго сайта (к примеру, test.site.org) имени первого сайта (site.org), и значения сортировки второго сайта больше, чем первого, происходит применение шаблона ко второму сайту от первого. При использовании таких имен необходимо указывать значение сортировки у второго сайта меньше, чем у первого.

  Секция Параметры

В секции Параметры производится задание языковых настроек сайта и, кроме того, задаются следующие значения:

  • Название сайта – произвольное название, которое может быть использовано в почтовых шаблонах. Если значение не задается в параметрах, то будет использовано значение одноименного параметра из настроек главного модуля.
  • URL сервера – заданный адрес сервера будет использован при формировании почтовых сообщений на основе шаблонов. Задание адреса производится без http://. В случае, если значение не задается в настройках, то будет использовано одноименное значение из настроек главного модуля.
  • E-mail адрес по умолчанию – задается электронный адрес, который будет использован в качестве значения макроса DEFAULT_EMAIL_FROM при формировании почтовых сообщений для каждого сервера. В случае, если данное поле не заполнено, в шаблоне будет использован почтовый адрес, указанный в настройках главного модуля.
  • Путь к корневой папке веб-сервера для данного сайта – указывается полный путь к папке, на которую настроена переменная DOCUMENT_ROOT для данного сайта. Для упрощения вставки полного пути в данное поле можно воспользоваться ссылкой «вставить текущий». В таком случае будет автоматически подставлен полный путь к файлам текущего сайта на сервере.
Обратите внимание:

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

Например, находясь в административном разделе при заходе с site1.ru/bitrix/admin будет подставлено значение пути именно для этого сайта:

  • /home/public_html/site1/
Чтобы установить текущее значение для site2.ru необходимо зайти в административную часть site2.ru/bitrix/admin.
Тогда будет подставлено значение пути:
  • /home/public_html/site2/

  Почтовые шаблоны

При создании нового сайта дополнительно предлагается опция по созданию почтовых шаблонов. Доступны следующие варианты:

  • Не создавать – шаблоны для сайта не будут созданы;
  • Привязать к имеющимся шаблонам – предлагается возможность привязать сайт к существующим шаблонам для одного из сайтов;
  • Скопировать из шаблонов сайта – шаблоны будут скопированы для указанного сайта из соответствующих шаблонов для выбранного сайта.

Обратите внимание:

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

Создание и привязка почтовых шаблонов


Настройки языков

В Административном разделе системы настройки языков и сайтов выполняются раздельно.

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

  Языки интерфейса

Примечание: Настройки языков предназначены для задания параметров языка интерфейса в Административном разделе.

Настройка осуществляется в разделе Настройки > Настройки продукта > Языковые параметры > Языки интерфейса.

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

Параметр Направление текста также влияет только на отображение административного раздела.

Примечание: Количество языков интерфейса никак не влияет на количество сайтов в системе.

  Язык в Параметрах сайта

Для каждого сайта можно задать определенные языковые настройки. Это делается в Административном разделе на странице настроек параметров сайта (Настройки > Настройки продукта > Сайты > Список сайтов) в разделе Параметры.
Так в настройках каждого сайта можно выполнить привязку к определенному языку интерфейса, формат даты, формат даты и времени (при совместном отображении), кодировку.

Параметры

Заданные языковые параметры будут использованы для показа записей в публичной части сайта. Например, формат даты будет использован при показе даты новостей, а кодировка может быть использована в коде шаблонов сайта.

За выбор языка интерфейса в кодах сайта отвечает константа:

<meta http-equiv="Content-Type" content="text/html; charset=<?= LANG_CHARSET;?>" /> 

Примечание: Выбор языка интерфейса определяет, например, язык сообщений публичных компонентов и сообщений об ошибке, которые выдаются в публичной части сайта.


Как система различает сайты

  Как система различает сайты

В плане многосайтовости при создании сайтов в системе «1С-Битрикс: Управление сайтом» нас интересуют поля: Доменное имя и Папка сайта. Именно они определяют, какой из сайтов откроет система по запросу пользователя. Эти поля вы найдете в форме создания/редактирования на странице Настройки > Настройки продукта > Сайты > Список сайтов.

Доменное имя

По получении запроса от пользователя система сначала проверяет текущий домен: из настроек всех сайтов выбираются домены и сопоставляются с доменом, на котором находится пользователь. При этом сравнивается только правая часть до точки (т.е. все поддомены автоматически относятся к этому домену). Например, если в настройках указано: example.com, а пользователь открыл www.example.com, то условие будет считаться выполненным. Но если он откроет my-example.com – это уже другой домен, его надо отдельно указывать в поле Доменное имя.

Примечание:

Важно не указывать в списке доменов те сайты, которые не работают на данном экземпляре продукта. Указанный неправильно или несуществующий домен может замедлить работу системы. К тому же это фактически не позволит перенести данные в сайты, работающие не на общем экземпляре продукта.

Доменное имя желательно указывать без www. Можно перечислить в этом поле с новой строки любое число доменных имен, по которым вы хотите, чтобы отвечал сайт. Все домены третьего или более низких уровней продукт будет считать принадлежащими данному сайту и будет открывать сайт #1 как по имени www.site1.com так же, как и без www.

Папка сайта

Если доменные имена не указаны или на разных сайтах указаны одинаковые домены, то определение происходит по полю Папка сайта. Обратите внимание, что здесь указывается папка относительно корня сайта (т.е. путь в URL), а не путь в файловой системе на сервере.

Важно иметь в виду, что значения, указанные в поле Доменные имена используется продуктом для распространения в указанные домены информации о пользователях по технологии UserMultiSiteTransfer (перенос пользователей в многосайтовой системе). Желательно указывать полный список доменов, по которым может ответить сайт.

Пример: В настройках для первого сайта указана папка /, для второго – /ru. При открытии страницы example.com/forum/messages/ попадаем на первый сайт, при открытии example.com/ru/forum/messages/ – на второй. При этом папка bitrix, содержащая ядро продукта, лежит в корне, никуда не копируется, и никакие другие настройки на сервере не делаются.

При создании сайтов по многосайтовости на одном домене:

  • поле Путь к корневой папке веб-сервера для этого сайта должно оставаться пустым,
  • в полях Папка сайта должны быть указаны разные папки.
При создании сайтов по многосайтовости на разных доменах:
  • в поле Путь к корневой папке веб-сервера для этого сайта должны быть указаны разные пути.
  • поле Папка сайта должна быть указана корневая папка «/» для обоих сайтов.

Важно знать:

Для определения текущего сайта не используется порт, т.е. нельзя настроить многосайтовость на одном домене и разных портах.

Проблема зеркал

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

Например, сначала могут быть зеркала www.****.ru и ****.ru. В будущем могут еще появиться еще зеркала ****.com и ****.рф.

Возможна ситуация, когда по IP 111.222.33.44 открывается наш сайт по-умолчанию. Или же какие-то чужие домены делегированы на наш IP, и наш сайт открывается на чужих доменах. Такое бывает с Виртуальной машиной Битрикса с основным сайтом.

Появление новых зеркал может усложнить настройку многосайтовости и анализ статистики посещений.

Самое простое решение – установить в настройках хостинга редирект на основной домен. Например, в файле [ds].htaccess[/ds][di] .htaccess (от англ. hypertext access) – файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельном каталоге без изменения главного конфигурационного файла httpd.conf.

Подробнее...[/di]:

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

  RewriteCond %{HTTP_HOST} !^askaron\.ru(.*?)$ [NC]
  RewriteRule ^(.*)$ http://askaron.ru/$1 [R=301,L] </IfModule>

Редирект на основной домен ****.ru избавит нас от лишних зеркал. В том числе от www.

Если сайт старый и проиндексирован, то рано или поздно придется в Яндекс.Вебмастере и Гугл.Вебмастере указать какое зеркало главное. Если же новый, то Яндексу и Гуглу ничего объяснять не придется, когда стоит редирект.

Решение от Артемия Зайцева


Многосайтовость на одном домене

Введение

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

При этом возможно как создание равнозначных папок в структуре корневого каталога, так и создание папок второго сайта внутри директории первого. То есть, допустимы комбинации как вида:

  • /www/s1/
  • /www/s2/
Так и комбинации вида:
  • /www/s1/
  • /www/s1/s2
В учебном курсе рассматривается первый вариант, когда сайты расположены на одном уровне. При размещении их на разных уровнях вложенности действия аналогичны, просто меняются пути до второго сайта.

Система поставляется настроенной на многосайтовость на одном домене. Дополнительной настройки в файле httpd.conf веб-сервера [ds]Apache[/ds][di] Apache HTTP-сервер – свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, macOS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Подробнее...[/di] не требуются, достаточно создать нужные папки и заполнить правильно поля в настройках сайтов.

  Настройка на многосайтовость на одном домене

При настройке многосайтовости на одном домене мы располагаем одним веб-сервером Apache, DocumentRoot которого настроен на каталог /home/www/allsites.

Примечание:
Путь к корню сайта в файловой системе сервера задается в настройках веб-сервера, например:
  • для Apache – в файле httpd.conf параметр DocumentRoot;
  • для IIS – в свойствах сайта, закладка Home Directory > Local Path.

Установим программный продукт «1С-Битрикс: Управление сайтом» в этот каталог.

Каждый сайт в первом способе конфигурации должен быть размещен в отдельном подкаталоге внутри единого каталога, например:

  • /home/www/allsites/s1/
  • /home/www/allsites/s2/

Имена каталогов s1, s2 можно выбирать любыми, например, shop и company, или en и de соответственно. Возможен так же вариант, когда один из сайтов располагается в корневом каталоге (например, /home/www/allsites/), а второй – в подкаталоге (например, /home/www/allsites/s2/).

  Конфигурирование

Настройка сайтов выполняется в Административном разделе системы (Настройки > Настройки продукта > Сайты > Список сайтов).

Выбираем "Изменить" параметры сайта №1 и указываем в них:

  • Название: site1
  • Доменное имя: оставить пустым
  • Папка сайта: /s1/
  • Название сайта: Корпоративный сайт компании "Название компании"
  • URL сервера:www.site1.com/s1
  • Путь к корневой папке веб-сервера для этого сайта: оставить пустым

В параметре Папка сайта необходимо указывать путь относительно корня к каталогу, в котором расположена публичная часть. А Путь к корневой папке веб-сервера для этого сайта не используется в данном способе настройки многосайтовости и должен быть пустым для всех сайтов.

Аналогично настроим параметры сайта №2:

  • Название: site2
  • Доменное имя: оставить пустым
  • Папка сайта: /s2/
  • Название сайта: Интернет-магазин компании "Название компании"
  • URL сервера:www.site1.com/s2
  • Путь к корневой папке веб-сервера для этого сайта: оставить пустым
Примечание:

Многосайтовость на одном домене на вебсервере [ds]IIS[/ds][di] IIS – проприетарный набор серверов для нескольких служб Интернета от компании Microsoft. IIS распространяется с Windows NT.

Основным компонентом IIS является веб-сервер, который позволяет размещать в Интернете сайты. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP, NNTP.

Подробнее...[/di] реализуется подобно тому, как это делается для сервера Apache.


Многосайтовость на разных доменах

Введение. Видеоурок

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

Будем использовать для примера конфигурацию из двух сайтов:

  • www.site1.com - корпоративный сайт компании
  • www.site2.com - интернет-магазин компании

Многосайтовость на разных доменах – это название технологии создания сайтов, при которой ядро продукта устанавливается в папку одного из сайтов, а для остальных сайтов настраиваются символьные ссылки (симлинки). Эту технологию можно реализовать и на [dw]разных доменах[/dw][di] www.site1.com - корпоративный сайт компании

www.site2.com - интернет-магазин компании [/di] (как в примере выше), и на [dw]поддоменах.[/dw][di]Вариант 1: два поддомена

www.site1.site.com - корпоративный сайт компании

www.site2.site.com - интернет-магазин компании

Вариант 2: домен с поддоменом

www.site1.com - корпоративный сайт компании

www.site2.site1.com - интернет-магазин компании [/di]

  Настройка многосайтовости на разных доменах

Каждый сайт надо разместить в соответствующем каталоге, например:

  • /home/www/site1/
  • /home/www/site2/

Установка продукта и настройка символьных ссылок

Продукт устанавливается в один из сайтов. Чтобы ядро могло работать для обоих сайтов, необходимо создать символьные ссылки для сайта, в котором нет установленного ядра. Ссылки потребуются для папок /bitrix, /local и /upload. Эти папки являются общими для обоих сайтов, такова особенность архитектуры.

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

Примечание: Технически возможно (но не рекомендуется) копирование указанных папок в некоторую внешнюю папку, на которую для всех сайтов настраиваются символические ссылки.

Символьная ссылка: (также симлинк от англ. Symbolic link, символическая ссылка) - cпециальный файл, для которого в файловой системе не хранится никакой информации, кроме одной текстовой строки. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке.

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

Ссылки можно создать двумя способами. Первый - классический, который рекомендовался компанией с самого начала. Второй - более поздний, считается более "красивым и изящным". В нем отсутствует шаг создания отдельной папки и переноса в нее ядра системы.

  Настройка симлинков (вариант 1)

Первый вариант (зеленым цветом приведены примеры для установки на UNIX системы):

  1. установите программный продукт "1С-Битрикс: Управление сайтом" сначала в каталог первого сайта /home/www/site1/
  2. создайте каталог /home/www/shared/, в котором будут располагаться общие для всех сайтов файлы:
    mkdir /home/www/shared
  3. перенесите весь каталог /home/www/site1/bitrix/ в /home/www/shared/bitrix/:
    mv /home/www/site1/bitrix /home/www/shared/bitrix
  4. перенесите весь каталог /home/www/site1/upload/ в /home/www/shared/upload/:
    mv /home/www/site1/upload /home/www/shared/upload
  5. перенесите весь каталог /home/www/site1/local/ в /home/www/shared/local/:
    mv /home/www/site1/local /home/www/shared/local
  6. создайте символическую связь для каталога /bitrix/ в каждом из сайтов:
    1. ln -s /home/www/shared/bitrix /home/www/site1/
    2. ln -s /home/www/shared/upload /home/www/site1/
    3. ln -s /home/www/shared/local /home/www/site1/
    4. ln -s /home/www/shared/bitrix /home/www/site2/
    5. ln -s /home/www/shared/upload /home/www/site2/
    6. ln -s /home/www/shared/local /home/www/site2/
  7. убедитесь, что веб-сервер (Apache, IIS) имеет право на запись в каталог /home/www/shared/ (это необходимо будет для работы системы обновлений и загрузки графических файлов)
  8. разместите публичную часть второго сайта в каталог /home/www/site2/

Примечание: Для создания и удаления символьных ссылок в Windows (начиная с Vista) есть команда mklink, либо воспользуйтесь дополнительными программами, например, Far Manager или Junction от Sysinternals.

Важно! Файловая система FAT32 не поддерживает создание символьных ссылок.

При настройке многосайтовой конфигурации на UNIX, можно воспользоваться программным методом создания символьных ссылок:

<?
symlink("/virt/homes/forinsured/bitrix", "/virt/homes/forinsured/htdocs/bitrix");
symlink("/virt/homes/forinsured/upload", "/virt/homes/forinsured/htdocs/upload");
symlink("/virt/homes/forinsured/local", "/virt/homes/forinsured/htdocs/local");
?>
Примечание:

В ряде случаев, например если web сервер работает в chroot, необходимо делать относительные ссылки.

Пример:
/var/www/s1 - первый сайт
/var/www/s2 - второй сайт
/var/www/shared - папка с ядром системы

Заходим в /var/www/s1 и создаём ссылки:

   ln -s ../shared/bitrix bitrix 
   ln -s ../shared/upload upload
   ln -s ../shared/local local
Переходим в /var/www/s2 и выполняем те же команды.

  Настройка симлинков (вариант 2)

В этом варианте символьные ссылки создаются непосредственно в папке второго сайта.

  1. Установите программный продукт «1С-Битрикс: Управление сайтом» сначала в каталог первого сайта /home/www/site1/
  2. Создайте в корневой папке второго сайта (/home/www/site2/) скрипт, например, под именем symlink.php:
  3. <html>
    <head><title>Создание ссылок на папки bitrix, local и upload</title></head>
    <body>
    <?
    error_reporting(E_ALL & ~E_NOTICE);
    @ini_set("display_errors",1);
    
    if ($_POST['path'])
       $path = rtrim($_POST['path'],"/\\");
    else
       $path = '../site1/www';
    
    if ($_POST['create'])
    {
       if (preg_match("#^/#",$path))
          $full_path = $path;
       else
          $full_path = realpath($_SERVER['DOCUMENT_ROOT'].'/'.$path);
    
       if (file_exists($_SERVER['DOCUMENT_ROOT']."/bitrix"))
          $strError = "В текущей папке уже существует папка bitrix";
       elseif (is_dir($full_path))
       {
          if (is_dir($full_path."/bitrix"))
          {
             if (symlink($path."/bitrix",$_SERVER['DOCUMENT_ROOT']."/bitrix"))
             {
                if (symlink($path."/upload",$_SERVER['DOCUMENT_ROOT']."/upload"))
                 {
                   if (symlink($path."/local",$_SERVER['DOCUMENT_ROOT']."/local"))
                      echo "Символические ссылки удачно созданы";
                   else
                   $strError = 'Не удалось создать ссылку на папку local, обратитесь к администратору сервера';
                  }
               else
               $strError = 'Не удалось создать ссылку на папку upload, обратитесь к администратору сервера';
              }
              else
              $strError = 'Не удалось создать ссылку на папку bitrix, обратитесь к администратору сервера';           
          }
          else
             $strError = 'Указанный путь не содержит папку bitrix';
       }
       else
          $strError = 'Неверно указан путь или ошибка прав доступа';
       
       if ($strError)
          echo ''.$strError.'
    Исходный путь: '.$full_path; } ?> <form method=post> Путь к папке, содержащей папки bitrix, local и upload: <input name=path value="<?=htmlspecialchars($path)?>"><br> <input type=submit value='Создать' name=create> </form> </body> </html>
  4. Запустите скрипт и укажите путь к корневой папке первого сайта, в нашем случае /home/www/site1/.
  5. После того как символьные ссылки созданы, наберите в адресной строке браузера site1/bitrix/admin. Откроется панель авторизации.
  6. Введите данные администратора, которые указывали при установке продукта на первый сайт, и попадете в административную панель «1С-Битрикс: Управление сайтом».

После завершения работы скрипта наличие символических ссылок на папки /bitrix, /local и /upload в папке второго сайта можно проверить по появлению одноименных папок.

На этапе создания могут возникнуть проблемы:

  • отсутствия прав на запись в текущую папку;
  • ограничение безопасности (open_basedir), которое не позволяет пользователям разделяемого хостинга обращаться к другим сайтам.

В случае возникновения проблем с этим скриптом следует обратиться за помощью к хостеру.

  Конфигурирование сайтов

Настройка сайтов выполняется в административном разделе системы на странице Настройки > Настройки продукта > Сайты > Список сайтов.

В строке первого сайта (www.site1.com), в колонке действий выбираем команду Изменить и указываем в них:

  • Название: site1
  • Доменное имя:site1.com
  • Папка сайта: /
  • Название сайта: Корпоративный сайт компании "Название компании"
  • URL сервера: www.site1.com
  • Путь к корневой папке веб-сервера для этого сайта: /home/www/site1/

Если DNS настроен таким образом, что ваш сайт отвечает на адрес http://site1.com, то в поле Доменное имя желательно указывать без www. Можно перечислить в этом поле с новой строки любое число доменных имен, по которым вы хотите, чтобы отвечал сайт (или уже отвечает).

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

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

Аналогично настроим параметры второго сайта (www.site2.com/):

  • Название: site2
  • Доменное имя: site2.com
  • Папка сайта: /
  • Название сайта: Интернет-магазин компании "Название компании"
  • URL сервера: www.site2.com
  • Путь к корневой папке веб-сервера для этого сайта: /home/www/site2/

Обратите внимание, что для двух сайтов в параметре Папка сайта указано одинаковое значение: "/". Это связано с тем, что сайты обслуживаются разными "виртуальными серверами" (в терминологии Apache) у которых для размещения файлов использован разный каталог.

Также необходимо обратить внимание на параметр Путь к корневой папке веб-сервера для этого сайта. Для разных сайтов у него свое значение, взятое из параметра DocumentRoot настроек соответствующего "виртуального сервера" (см. ниже пример части файла httpd.conf настроек Apache).

Примечание:

Необходимо иметь в виду, что при организации многосайтовости по данному способу, вы можете использовать как виртуальные сервера одной установки Apache, так и просто разные установки Apache. Это справедливо для других веб-серверов: IIS, EServ и т.д.

Важно: при создании второго сайта необходимо скопировать с основного сайта или заново создать файлы /.htaccess и /404.php.

При включенной Проактивной защите второй сайт должен быть обязательно добавлен в список разрешённых доменов.

Файл .access.php

Создайте файл .access.php c таким содержанием в корне второго сайта:

<? $PERM["/"]["*"]="R"; ?>
Примечание:

Для данного способа организации многосайтовости не требуется настраивать на индексной странице алгоритм выбора сайтов, как это делается при Псевдомногосайтовости, т.к. сайт будет однозначно определяться по полю Доменное имя.

Конфигурация готова к работе.

Вход в систему

  • Наберите в адресной строке браузера http://site1/bitrix/admin (или http://site2/bitrix/admin). Откроется панель авторизации.
  • Вводите данные администратора, которые указывали при установке продукта на первый сайт и попадете в административную панель "1С-Битрикс: Управление сайтом".

Поскольку ядро одно и база одна - административная панель для обоих сайтов будет одинаковая.

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

Примечание: HTML кеширование не поддерживается на второй многосайтовости. Более того, этот функционал считается устаревшим. Рекомендуется использовать технологию Композитный сайт.


  Сортировка сайтов

Есть особенность в установке значений в поле Сортировка сайтов в списке. Если второй сайт работает на [dw]поддомене[/dw][di] Пример:

site1.com - первый сайт

site2.site1.com - второй сайт (на поддомене первого сайта) [/di] домена первого сайта, то он в списке сайтов должен иметь [dw]меньшее значение.[/dw][di] [/di] Например, сортировка у первого сайта - 500, сортировка у второго сайта (работающего на поддомене первого) - 400.

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

Для случаев, когда сайты находятся на [dw]разных доменах[/dw][di] Пример разных доменов:

site1.com

site2.com [/di] или [dw]разных поддоменах,[/dw][di] Пример разных поддоменов:

bus.site.com

b24.site.com [/di] сортировка может быть любой.


Псевдомногосайтовость на разных доменах

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

Первый вариант

Многосайтовость реализуется в этом случае за счет кода индексной страницы основного сайта.

Но в случае ошибочных указаний адресов возможны ситуации, когда, например, будет отображен контент одного сайта в шаблоне другого.

Настройка сервера Apache

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

Настройки сайта

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

Настройка индексной страницы

Посетитель каждого из сайтов, заходя по адресу http://www.site1.com или http://www.site2.com, попадает фактически на страницу /index.php, лежащую в каталоге, указанном в параметре DocumentRoot настроек веб-сервера. В многосайтовой конфигурации роль этого файла немного меняется, и в нем необходимо разместить уже не содержимое индексной страницы корня одного из сайтов, а PHP код, осуществляющий выбор одного из сайтов в зависимости от текущего доменного имени.

При решении данной задачи могут быть использованы следующие функции класса CMainPage:

  • CMainPage::GetSiteByHost - возвращает ID сайта, определяя его по текущему доменному имени.
  • CMainPage::GetSiteByAcceptLanguage - возвращает ID сайта, определяя его по переменной Accept-Language в настройках браузера пользователя.
  • CMainPage::GetIncludeSitePage - возвращает абсолютный путь на индексную страницу папки указанного сайта, для дальнейшего его подключения.
  • CMainPage::RedirectToSite - перенаправляет на индексную страницу папки указанного сайта.

Пример индексной страницы портала, когда сайт определяется по текущему доменному имени

Пример индексной страницы портала, когда сайт определяется по установленным в браузере посетителя языкам

Пример индексной страницы портала, когда один из сайтов расположен в корне, остальные - в папках, но при этом хосты у сайтов одинаковые

Второй вариант

Если домены и дизайны двух сайтов разные, и используется одна база для двух сайтов (настройки магазина и т.д. тоже одинаковые), можно использовать такой вариант. Лицензия на второй сайт при этом не используется.

Решение:

  1. Перейдите в Настройки сайта (Рабочий стол > Настройки > Настройки продукта > Сайты > Список сайтов)
  2. Установите для первого шаблона Тип условия = Выражение PHP. В условие пишите:
    strpos($_SERVER["HTTP_HOST"], 'domain1.ru')!==false
  3. Установите для второго шаблона Тип условия = Выражение PHP. В условие пишите:
    strpos($_SERVER["HTTP_HOST"], 'domain2.ru')!==false
  4. В поле Доменное имя: (список доменных имен, каждое в новой строке) - прописываете оба домена.

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


Примеры настроек сервера Apache

Настройки веб-сервера Apache выполняет, как правило, техническая служба хостера. Приведенные ниже примеры настроек сервера Apache даны для ознакомления и понимания механизма настройки

  Многосайтовость на одном домене

В конфигурационном файле httpd.conf веб-сервера Apache должна присутствовать примерно такая запись:

<VirtualHost *:80>
ServerAdmin admin@site1.com
DocumentRoot "/home/www/allsites"
ServerName www.site1.com
ErrorLog logs/allsite.log
CustomLog logs/allsite.log common
</VirtualHost>

Обратите внимание, что параметр DocumentRoot имеет значение /home/www/allsites и явно указывает на каталог, в котором установлен продукт. Для двух сайтов параметр DocumentRoot будет иметь одно и то же значение.

Строка <VirtualHost *:80> указывает на то, что веб-сервер будет отвечать на любое доменное имя по любому IP адресу. Т.е. при соответствующей настройке DNS сервера, веб-сервер будет отвечать по любому из имен www.site1.com или www.site2.com.

  Многосайтовость на разных доменах

В конфигурационном файле httpd.conf веб-сервера Apache должны присутствовать две записи, каждая из которых описывает свой "виртуальный сервер" (в терминологии, принятой в Apache):

<VirtualHost *:80>
ServerAdmin admin@site1.com
DocumentRoot "/home/www/site1"
ServerName site1.com
ServerAlias *.site1.com
ErrorLog logs/site1.log
CustomLog logs/site1.log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site2.com
DocumentRoot "/home/www/site2"
ServerName site2.com
ServerAlias *.site2.com
ErrorLog logs/site2.log
CustomLog logs/site2.log common
</VirtualHost>

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

Строки <VirtualHost *:80> указывают на то, что веб-сервер будет отвечать на любом IP адресе, но переменная ServerAlias говорит о том, что каждый из сайтов будет отвечать только по определенному доменному имени.

Т.е. доменное имя www.site1.com будет обрабатываться одним веб-сервером Apache, который работает с каталогом /home/www/site1/, а www.site2.com - другим веб-сервером, работающим с каталогом /home/www/site2/.

Возможен так же вариант конфигурирования для разных IP адресов. Ниже приведен пример конфигурации Apache для двух разных IP адресов:

<VirtualHost 192.168.0.1:80>
ServerAdmin admin@site1.com
DocumentRoot "/home/www/site1"
ServerName site1.com
ErrorLog logs/site1.log
CustomLog logs/site1.log common
Options +FollowSymLinks
</VirtualHost>
<VirtualHost 192.168.0.2:80>

ServerAdmin admin@site2.com
DocumentRoot "/home/www/site2"
ServerName site2.com
ErrorLog logs/site2.log
CustomLog logs/site2.log common
Options +FollowSymLinks
</VirtualHost>

В этом случае при соответствующей настройке DNS для разных доменных имен каждый "виртуальный сервер" (в терминологии Apache) будет работать на отдельном IP адресе и отвечать только по определенному доменному имени.

Примечание:

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

  • В корне второго сайта создать папку /bitrix_personal
  • В этой папке сделать две символьные ссылки на /bitrix/php_interface/ и /bitrix/templates/ первого сайта.
  • В файле .htaccess в корне каждого сайта в самом начале необходимо прописать:
  • SetEnv BX_PERSONAL_ROOT /bitrix/bitrix_personal


Выделение разделов сайта в поддомены

В некоторых случаях бывает необходимо организовать выделение некоторых разделов сайта в виде поддомена основного сайта. Например, организовать форум не по адресу http://www.mysite.ru/forum/, а по адресу http://forum.mysite.ru. Задача решается с использованием методов многосайтовости на разных доменах. При этом сайт остается один и лицензия не нарушается.

Примечание: Необходимо помнить, что для такой настройки необходимо иметь зарегистрированный DNS третьего уровня.
  • Создайте раздел, который будет выноситься в поддомен.
  • Сконфигурируйте отдельный виртуальный сервер Apache для многосайтовости на разных доменах (см. Примеры настроек сервера Apache) с привязкой домена к созданной папке.
  • Создайте в этой папке символьные ссылки на папки /bitrix и /upload.
  • Создайте шаблон для сайта и примените его.
Примечание: Для задания разных шаблонов для разных папок в этом случае в настройках сайта нужно выбрать условие для отображения шаблона "выражение php" и вставить код:
$_SERVER['HTTP_HOST'] == 'site2'
где site2.ru – имя домена, для которого применяется собственный шаблон.

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


Авторизация при поддоменности на разных установках

При наличии сайтов вида site.ru и crm.site.ru (т.е. на поддомене), которые выполнены на [dw]разных установках[/dw][di]Например первая установка - продукт 1С-Битрикс: Управление сайтом, а вторая - 1С-Битрикс24: CRM.[/di], могут возникнуть проблемы с авторизацией. Вызвано это дублированием переменной PHPSESSID в [ds]cookie[/ds][di] Cookie - это текстовая строка информации, которую веб-сервер передает в браузер посетителя сайта и которая сохраняется в файле на устройстве посетителя сайта. Как правило, используется для определения уникальности посетителя, времени его последнего визита, личных настроек, уникального идентификатора корзины покупок и т.д.

Подробнее...[/di].

Дальнейшие действия зависят от конфигурации этих сайтов.

На каждой установке только один сайт

Если в рамках каждой установки существует только один сайт (т.е. не настроена многосайтовость), то проблемы авторизации решаются удалением домена в настройках сайта (Настройки > Настройки продукта > Сайты > Список сайтов), в поле Доменное имя формы редактирования настроек сайта.

Если домен в поле НЕ указан, то cookie ставятся только на текущий домен. При указании же доменного имени в этом поле, cookie ставятся и на все его поддомены (т.е. на все *.site.ru).

После очистки поля Доменное имя, рекомендуем также выполнить [dw]очистку cookies в браузере[/dw][di]Если возникли проблемы с очисткой cookies в браузере и не получается авторизоваться, можно инициировать удаление лишней куки со стороны сервера:

1. Если не используется многосайтовость, а поле «Доменное имя» очищено, то надо удалить куку с точкой в начале. Для этого впишите в любую строку файла dbconn.php следующий код:
setcookie("PHPSESSID", "", 777, '/', '.site.ru');
где site.ru - имя вашего домена.

2. Если используется многосайтовость или не очищено поле «Доменное имя», то впишите код:
setcookie("PHPSESSID", "", 777, '/');
строго без имени домена. [/di].


На одной из установок настроена многосайтовость (на одном ядре)

Пример конфигурации:

  1. site.ru имеет на этой же установке сайты:
    • site.by
    • site.org
  2. crm.site.ru - другая установка.

Указанную конфигурацию продукты 1С-Битрикс не поддерживают.

Очистить поле Доменное имя в таком случае не получится, т.к. его заполнение обязательно для организации [dw]многосайтовости на разных доменах[/dw][di]Для работы многосайтовости на разных доменах нам потребуется произвести настройку программного продукта. Настройку веб-сервера Apache, как и в случае с многосайтовостью на одном домене, должна произвести хостинговая компания.
Будем использовать для примера конфигурацию из двух сайтов:

Подробнее...[/di].

Решение: подобрать другой домен для сайта crm.site.ru, второй уровень которого не будет совпадать с сайтами первой установки.



Работа с данными в многосайтовой конфигурации

Работа с системой в многосайтовой конфигурации имеет свои особенности. Это касается как настроек системы, учета статистики, так и работы с данными.

Работа со структурой сайта

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

  Логическая структура

Логическая структура сайтов при этом разделяется следующим образом:

Логическая структура сайта создается на основе заголовков, которые задаются в диалоге управления [dw]свойствами папок[/dw][di]Свойства папки (раздела):

пункт меню "Свойства раздела"[/di]. Эти же заголовки используются при построении цепочки навигации по сайту. Название для файлов создается на базе заголовка страницы, который задается при редактировании страницы.

  Физическая структура

Физическая структура или структура файлов и папок будет представлена с разбивкой по сайтам (аналогично логической) в случае использования многосайтовости на разных доменах.

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

Рамкой выделена папка, которая является корнем второго сайта.

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

Для корректного и полного отображения логической и физической структуры всех сайтов в рамках многосайтовости на разных доменах (вариант 2) следует обязательно заполнить поле Путь к корневой папке веб-сервера для каждого сайта.

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


Какие объекты можно позиционировать по сайтам

Система позволяет осуществлять позиционирование информационного содержимого по сайтам. Возможна привязка следующих объектов к одному или нескольким сайтам:

Контент

Сущность Действие к отдельному сайтук нескольким сайтам
Информационные блоки привязка ++
Структура сайта просмотр файлов +
Документооборот просмотр и добавление документов +

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

Маркетинг

Сущность Действие к отдельному сайтук нескольким сайтам
Пульс конверсии просмотр данных +
Бизнес-модель интернет-магазина просмотр данных +
A/B тестирование создание и запуск теста +
Товарный маркетинг правила работы с корзиной +
привязка скидки на товар (до конвертации) +
правила работы с корзиной (до конвертации) +
привязка накопительной программы (до конвертации) +
E-mail маркетинг, Реклама создание кампании +
Триггерные рассылки создание триггерной рассылки +
Поисковая оптимизацияработа по оптимизации+
создание robot.txt, sitemap.xml +
Баннерная реклама привязка контракта + +
таргетинг баннеров+ +

Магазин

Сущность Действие к отдельному сайтук нескольким сайтам
Заказы создание +
Покупатели фильтр заказов +
создание заказов со страницы списка покупателей+
просмотр брошенных корзин+ +
Складской учет создание документов и складов +
Отчёты создание отчёта +
формирование статистики по заказам и по товарам + +
построение графиков статистики по заказам (по количеству и по деньгам)+ +
Настройки Интернет-магазинадобавление службы доставки с возможностью дальнейшего ограничения по сайтам+
добавление платежной системы с возможностью дальнейшего ограничения по сайтам +
создание налогов +
создание типа плательщиков ++
привязка местоположений, Избранных местоположений ++
интеграция с 1С (каталог) +
интеграция с 1С (заказы) ++
Аффилиаты привязка +
задание планов+
построение пирамиды+

Сервисы

Сущность Действие к отдельному сайтук нескольким сайтам
Опросы привязка группы опросов ++
Веб-формы привязка веб-формы + +
Подписка, рассылки привязка рассылки +
Техподдержкапривязка уровней техподдержки (SLA)+ +
записи в справочнике ++
создание обращений +
Социальная сеть привязка тем и групп ++
Форум привязка форума и шаблоны путей + +
Блоги привязка при создании группы блогов +
Обучение создание и импорт курсов + +
Рейтинги вид и текст кнопок +
Внешние источники данных публикация +
Почта привязка почтового ящика и почтового сервиса +

Аналитика

Сущность Действие к отдельному сайтук нескольким сайтам
Сводная статистика, Посещаемость построение графиков посещаемости, графиков средней длительности сессий и активности + +



Какие настройки модулей разделяются по сайтам

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

Push and Pull

  • Позволяет указывать, на каких сайтах не использовать модуль.

Модуль Бизнес-процессы

  • Позволяет задать Формат отображения имени.

Модуль Блогов

  • Пути к публичной части блогов

Веб-мессенджер

  • Формат отображения имени в списке контактов.
  • Шаблон пути к странице пользователя.

Задачи (КП)

  • Пути к публичной части задач.

Интернет магазин

  • Адрес магазина.
  • Права на заказы.
  • Настройка напоминаний о неоплаченных заказах.
  • Единицы веса в каталоге товаров.
  • Подписка на товары.

Интранет (КП)

  • Инфоблок графика отсутствий;
  • Инфоблок вакансий;
  • Инфоблок задач.

Обучение

  • Пути к публичной части курсов.

Сайты 24

Для каждого сайта можно настроить:

  • индивидуальные шаблоны;
  • пути к публикации относительно корня сайта.

Социальная сеть

Для каждого сайта могут быть заданы:

  • индивидуальные настройки функционала друзей, пользователей, шаблонов для страниц и групп;
  • индивидуальные настройки для форумов, сообщений, фотогалерей пользователей и групп, календаря и поиска.

Социальные сервисы

Можно индивидуально задавать следующие настройки для сайтов:

  • авторизация через внешние сервисы;
  • Битрикс24.Network;
  • Facebook*;
  • LiveID;
  • Мой Мир;
  • Twitter;
  • ВКонтакте;
  • Google;
  • Одноклассники;
  • и другие.

Управление структурой

Можно индивидуально задавать следующие настройки для сайтов:

  • типы меню
  • количество дополнительных параметров меню
  • типы свойств

* Социальная сеть признана экстремистской и запрещена на территории Российской Федерации.


Какую статистику можно анализировать в разрезе по сайтам

В разрезе по сайтам можно просматривать следующие статистические данные:

  • Сводная статистика;
  • Посещаемость: динамика;
  • Посещаемость: разделы и страницы;
  • Посещаемость: точки входа;
  • Посещаемость: точки выхода;
  • Пути по сайту;
  • Внимательность: длительность сессии;
  • Внимательность: активность;
  • Список событий;
  • Переходы с поисковиков: cписок переходов;
  • Переходы с поисковиков: по поисковикам;
  • Поисковики: cписок фраз;
  • Поиск: список переходов;
  • Поиск: список тегов;
  • Индексация: хиты поисковиков;
  • Ссылающиеся сайты: сайты;
  • Ссылающиеся сайты: страницы;
  • Ссылающиеся сайты: переходы;
  • Посетители: список посетителей;
  • Посетители: сессии посетителей;
  • Посетители: хиты;
  • Посетители: стоп-лист;
  • Кто на сайте.

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

Обратите внимание! Разделение прав на просмотр статистики разных сайтов в продукте невозможно. Пользователи групп, которые имеют доступ к просмотру статистики, смогут просматривать её по всем сайтам.


Типовые вопросы возникающие при работе с многосайтовой конфигурацией

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

Как закрыть только один из сайтов для посещения пользователей

В настройках системы есть возможность закрыть сайт для публичного посещения, например, на время каких-либо технических работ. Это делается на странице настроек главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль):

Однако, указанная возможность позволяет выполнить действие только для всех сайтов системы одновременно. Для того чтобы закрыть отдельный сайт в рамках многосайтовой конфигурации, необходимо разместить специальный программный код в файле: /bitrix/php_interface/siteid/init.php

AddEventHandler("main", "OnBeforeProlog", "MyOnBeforePrologHandler", 50);
function MyOnBeforePrologHandler()
{
   global $USER;
   if(!is_object($USER)){
      $USER = new CUser();
   }
   if (!$USER->IsAdmin()){
      include($_SERVER["DOCUMENT_ROOT"]."/coming-soon/underconstruction.html");
      die();
   }
}

где siteid - идентификатор сайта, который нужно закрыть.

Внимание! Учтите, что при добавлении этого кода перестанут работать задания выполняемые через [ds]cron[/ds][di]Всецело можно сказать одно: если агенты занимают несколько десятых долей секунды, то уже стоит задуматься о переносе агентов на cron.

Подробнее...[/di].

В файле underconstruction.html следует поместить информационное сообщение, которое будет показано посетителям вместо стандартных страниц сайта.

Компонент для переключения сайтов

В составе дистрибутива продукта имеется компонент Выбор сайта (bitrix:main.site.selector), который выполняет функцию переключения между сайтами в режиме многосайтовости. Он внедряется в шаблон сайта. С его помощью посетитель сайта осуществит переход на корневую папку каждого сайта.

Компонент расположен:

  • В рамках визуального редактора в группе Служебные > Навигация;
  • В рамках файловой структуры в папке \bitrix\components\bitrix\.

Настройка вывода данных осуществляется типовым способом: копированием шаблона компонента с последующей модификацией шаблона.

Настройка параметров main.site.selector выполняется стандартно, как и для компонентов системы – через диалог Параметры компонента.

Мастер-класс

На партнерской конференции 2009 года руководитель отдела ТП Денис Шаромов давал мастер-класс по организации многосайтовости. Предлагаем запись этого выступления. Надеемся, что это также поможет в освоении режима многосайтовости.

Загрузить ролик. 19 минут 05 сек. 16.49 Мб.

Резервное копирование при многосайтовости

  Особенности резервного копирования при многосайтовости на разных доменах

  1. Создавать резервные копии можно для любого сочетания существующих в системе файлов. Просто отметьте "птичками" в форме нужные сайты.
  2. База данных полностью копируется в архив. Даже тех сайтов, которые не были отмечены "птичками".
  3. Восстановление сайтов потребует дополнительных действий со стороны администратора:
    • Учтите, что из выбранных сайтов в состав архива полностью копируется только первый по сортировке в списке. Соответственно, при восстановлении в полностью работоспособном состоянии восстанавливается только этот сайт.
    • Публичная часть остальных сайтов сохраняется в архиве в папках вида /bitrix/backup/sites/_ID_сайта_. При распаковке архива появится предупреждение, что в нём содержится несколько публичных частей. После распаковки администратор должен будет вручную перенести папки сайтов в соответствующие папки на сервере.
    • Многосайтовость надо восстановить вручную (восстановить симлинки). Только после этого остальные сайты будут работоспособны.
Внимание! Подробно о резервном копировании рассказано в отдельной главе главе в курсе Администратор.Базовый.

Удаление сайтов

  Что может помешать
  удалению сайта

Удаление сайта возможно только из Административного раздела со страницы Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов). Перед удалением сайта необходимо удалить [dw]сущности[/dw][di]Сущность - любой конкретный или абстрактный объект в рассматриваемой предметной области.

В рамках 1С-Битрикс: Управление сайтом сущности - это инфоблоки, привязки разного вида, правила, скидки, валюты, форумы и прочее. [/di], которые имеют отношение к удаляемому сайту (или снять привязку с них).

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

Если какие-то сущности невозможно удалить, сайт тоже не удаляется и система выведет ошибки. В коде ошибок, как правило, указывается класс или метод, по которому определяется где искать объект для удаления или отвязывания:

Ошибка при удалении сайта

  Примеры ошибок, возникающих
  при удалении сайтов


Ошибка при удалении в CForumNew::OnBeforeLangDelete (forum) Не удалён форум
Ошибка при удалении в CIBlock::OnBeforeLangDelete (iblock) Не удалены инфоблоки. Привязанные инфоблоки могут находиться в разных типах инфоблоков.
Ошибка удаления. Возможно есть ссылающиеся объекты. Не удалены сущности, ссылающиеся на удаляемые объекты. Например, при удалении инфоблока, являющегося [dw]торговым каталогом,[/dw][di] Для удаления торгового каталога нужно предварительно сделать его обычным инфоблоком,
выполнив два действия:
  • убрать флажок в поле Является торговым каталогом;
  • отвязать Инфоблок торговых предложений.
[/di] не отвязаны инфоблоки, являющиеся торговыми предложениями для удаляемого инфоблока.
Ошибка при удалении в CSalePersonType::OnBeforeLangDelete (sale) Ошибка связана с наличием типов плательщиков привязанных к сайту.
В заказах используется тип плательщика с ID=* Не удалены заказы, относящиеся к удаляемым типам плательщиков
Ошибка при удалении в CRubric::OnBeforeLangDelete (subscribe) Не удалены привязанные к сайту рассылки.
Ошибка при удалении в модуле \Bitrix\Landing\Site::onBeforeMainSiteDelete (landing) Нужно сначала удалить страницы соответствующего сайта в разделе Сайты24.

  Сущности, которые могут запретить
   удаление сайта

Список сущностей системы, имеющих привязку к сайтам и которые могут запретить удаление сайта:

    Контент

  • Инфоблоки (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока)
  • Привязка одного инфоблока к другому в качестве торгового предложения. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Торговый каталог)
  • Привязка одного инфоблока к другому в качестве источника для полей Привязка к разделам и Привязка к элементам и других. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Свойства)
  • Сайты 24

  • Страницы сайтов (Сайты > Сайты 24 > Название сайта > Название страницы)
  • Маркетинг

  • Правила работы с корзиной (Маркетинг > Товарный маркетинг > Правила работы с корзиной > Правила работы с корзиной)
  • Скидки на товар (Маркетинг > Товарный маркетинг > Скидки на товар > Скидки на товар)
  • Накопительные скидки (Маркетинг > Товарный маркетинг > Накопительные скидки)
  • Список рассылок Email-маркетинга (Маркетинг > Email-маркетинг > Список рассылок)
  • Список триггерных рассылок (Маркетинг > Триггерные рассылки > Список рассылок)
  • Настройка карты сайта (Маркетинг > Поисковая оптимизация > Настройка sitemap.xml)
  • Привязка баннеров (Маркетинг > Баннерная реклама > Баннеры)
  • Контракты (Маркетинг > Баннерная реклама > Контракты)
  • Магазин

  • Заказы (Магазин > Заказы либо Магазин > Покупатели > Список покупателей)
  • Покупатели (Магазин > Покупатели > Список покупателей)
  • Брошенные корзины пользователей (Магазин > Покупатели > Корзины)
  • Склады (Магазин > Складской учет > Склады)
  • Складские документы (Магазин > Складской учет > Документы)
  • Службы доставки (Магазин > Настройки > Службы доставки)
  • Платежная система (Магазин > Настройки > Платежные системы)
  • Налоги (Магазин > Настройки > Налоги > Список налогов)
  • Привязка налоговых ставок к налогам (Магазин > Настройки > Налоги > Ставки налогов)
  • Типы плательщиков (Магазин > Настройки > Типы плательщиков)
  • Аффилиаты (Магазин > Аффилиаты > Аффилиаты)
  • Планы комиссий (Магазин > Аффилиаты > Планы)
  • Пирамиды (Магазин > Аффилиаты > Пирамида)
  • Сервисы

  • Группы опросов (Сервисы > Опросы > Дополнительно > Группы опросов)
  • Веб-формы (Сервисы > Веб-формы > Настройка форм)
  • Выпуски рассылки (Сервисы > Рассылки > Выпуски)
  • Подписчики (Сервисы > Рассылки > Подписчики)
  • Список рассылок (Сервисы > Рассылки > Список рассылок)
  • Справочники техподдержки (Сервисы > Техподдержка > Справочники > Название справочника)
  • Уровни техподдержки (Сервисы > Техподдержка > Уровни поддержки)
  • Обращения (Сервисы > Техподдержка > Обращения)
  • Группы блогов (Сервисы > Блоги > Группы блогов)
  • Форумы (Сервисы > Форумы > Список форумов)
  • Темы Социальной сети (Сервисы > Социальная сеть > Темы)
  • Группы Социальной сети (Сервисы > Социальная сеть > Группы)
  • Учебные курсы (Сервисы > Обучение > Курсы)
  • Привязка Учебной группы к курсу (Сервисы > Обучение > Учебные группы)
  • Почтовые ящики (Сервисы > Почта > Почтовые ящики)
  • Почтовые сервисы (Сервисы > Почта > Почтовые сервисы)
  • Настройки

  • Создание Google Sitemap (Настройки > Поиск > Google Sitemap)
  • Правила сортировки (Настройки > Поиск > Правила сортировки)
  • Стоп-лист (Настройки > Проактивная защита > Стоп-лист)
  • Облако 1С-Битрикс (Настройки > Облако 1С-Битрикс > Ускорение сайта CDN)
  • Почтовые шаблоны (Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны)
  • Правила обработки адресов (Настройки > Настройки продукта > Обработка адресов > Правила обработки)

  Удаление сайтов
  при многосайтовости

Возможны 2 варианта:

  1. Вы удаляете сайт, который не содержит ядро продукта.

    В этом случае нужно лишь удалить или снять привязку со всех объектов, которые имеют отношение к удаляемому сайту. Подсказки об оставшихся объектах или зависимостях система выведет как ошибки. Ликвидировав ошибки, вы снимете запрет и сайт удалится.

  2. Вы удаляете сайт, который содержит ядро (к примеру, сайт s1) и на который настроены [dw]симлинки[/dw][di]Символьная ссылка: (также симлинк от англ. Symbolic link, символическая ссылка) - cпециальный файл, для которого в файловой системе не хранится никакой информации, кроме одной текстовой строки. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке.
    Подробнее о настройке симлинков...[/di] с других сайтов, например, с сайта s2.

    В этом случае, нужно из папки основного (содержащего ядро) сайта s1 перенести папки ядра (/bitrix, /local и /upload, то есть все те папки, на которые настроены симлинки) в папку сайта s2, замещая симлинки. После переноса можно удалить папку сайта s1.


Страница ошибки 404 при многосайтовости

При многосайтовости для каждого из сайтов можно создать свою [ds]страницу ошибки 404[/ds][di] При запросе пользователем страницы, отсутствующей на сервере, последний автоматически генерирует страницу с соответствующей надписью. Причин появления такой страницы может быть несколько:

- некорректная ссылка на сайте;

- неправильно введенный пользователем адрес;

- документ, на который ведет ссылка, был удален.

Подробнее...[/di].

Для этого выполните следующие действия:

  1. Создайте файл [ds].htaccess[/ds][di] .htaccess (от англ. hypertext access) - файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельном каталоге без изменения главного конфигурационного файла httpd.conf.

    Подробнее...[/di] (если он ещё не создан). Разместите его в директории того сайта, для которого настраиваете страницу ошибки 404 (например, /site2). В этом файле пропишите код:

    ErrorDocument 404 /site2/404.php
    
    <IfModule mod_rewrite.c>
    	RewriteEngine Off
    </IfModule>
    

  2. Создайте новый файл 404.php. В качестве образца можно взять код из стандартного файла 404.php, расположенного в корневом разделе сайта (Контент > Структура сайта > Файлы и папки).

    Содержимое стандартного файла 404.php

    Откорректируйте созданный файл 404.php в зависимости о того, какую информацию Вы хотите выводить на этой странице. Разместите этот файл в той же директории, что и созданный ранее файл .htaccess.

В результате при возникновении на этом сайте ошибки 404 будет отображена созданная Вами страница (в примере ниже удалён компонент Карта сайта, отредактирован текст и заменена картинка):