Одно ядро Друпала может обслуживать сразу несколько сайтов, каждый из которых имеет свою конфигурацию, такое устройство сайтов называется мультисайтингом.
При мультисайтинге, конфигурация каждого сайта размещается в своей папке (внутри папки sites) и определяется файлом settings.php (самый простой способ сделать файл settings.php
, это скопировать файл sites/default/default.settings.php
в папку сайта, переименовав его в settings.php
.). Независимым сайтом не обязательно может являться домен, это может быть любой URL. Например, как независимые сайты можно определить URL:
example.com
sub.example.com
sub.example.com/site3
Файл конфигурации каждого сайта будет размещаться следующим образом:
sites/default/settings.php
sites/example.com/settings.php
sites/sub.example.com/settings.php
sites/sub.example.com.site3/settings.php
Друпал выполняет поиск файла конфигурации в определённом порядке на основе URL, используя первый найденный файл. Например, для sub.www.example.com/site3
, файл конфигурации будет искаться в следующей последовательности:
sites/sub.www.example.com.site3/settings.php
sites/www.example.com.site3/settings.php
sites/example.com.site3/settings.php
sites/sub.www.example.com/settings.php
sites/www.example.com/settings.php
sites/example.com/settings.php
sites/default/settings.php
Если вы используете нестандартный порт, то номер порта указывается в имени папки как самый глубокий поддомен. Например, конфигурация для сайта http://www.example.com:8080/
будет загружена из папки sites/8080.www.example.com/
. Если конфигурации с указанным портом не найдено, то номер порта будет считаться поддоменом.
Кроме того, в папке sites находится файл examples.sites.php, который нужен для мультисайтинга и который позволяет связать URL конфигурации с ядром. Он позволяет указать синонимы адресов, которые загружаются до сканирования папок.
Каждый сайт может иметь свой набор модулей и тем. Чтобы сделать определённые модули и темы доступными только для определённого сайта, то создайте в папке сайта папки modules
и themes
. Например, чтобы сделать модули и темы доступными только сайту sub.example.com
, структура папок должна быть следующей:
sites/sub.example.com/modules/
sites/sub.example.com/themes/