10  /  26

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

Просмотров: 13974
Дата последнего изменения: 17.07.2020
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5

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

В плане многосайтовости при создании сайтов в системе «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 и наш сайт открывается на чужих доменах. Такое бывает с Виртуальной машиной Битрикса с основным сайтом.

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

Самое простое решение - установить в настройках хостинга редирект на основной домен. Например, в .htaccess:


  Options +FollowSymLinks
  RewriteEngine On

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

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

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

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


14
Курсы разработаны в компании «1С-Битрикс»

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