Мультидоменный сайт

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

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

Для создания мультидоменного (многодоменного) сайта необходимо сделать следующее:

  1. На хостинге

    Направить все домены в одну папку с нашим сайтом.
    Систему управления BLOX переписать непосредственно в папку нашего сайта (в подпапку BLOX). В index.php сделать соответствующие настройки.

  2. В окне настройки сайта

    Зайдите в меню: "Сайт > Настройки сайта" в главной административной панели. Запишите в поле "Замена данных в мультидоменном сайте" массив имен переменных и их значения, на которые будет заменяться переменная при запросе того или иного домена. Вышестоящим ключом массива должен быть запрашиваемый домен. Формат массива JSON. Пример:

    {
        "moskva.mysite.ru": {
            "город":"Москва",
            "город, чего":"Москвы",
            "город, чему":"Москве",
            "город, вижу что":"Москву",
            "город, чем":"Москвой",
            "город, чём":"Москве",
            "телефон":"+7-987-111-11-11"
        },
        "spb.mysite.ru": {
            "город":"Москва",
            "город, чего":"Санкт-Петербурга",
            "город, чему":"Санкт-Петербургу",
            "город, вижу что":"Санкт-Петербург",
            "город, чем":"Санкт-Петербургом",
            "город, о чём":"Санкт-Петербурге",
            "телефон":"+7-987-222-22-22"
        }
    }

    Под доменов подразумевается URL сайта без схемы (протокола), без путей и без url-запросов.
    Это могут быть:

  3. В окне настройки блока

    Зайдите в меню: "Блок > Настройки блока" в панели окна редактирования блока, в котором предполагается использовать переменные замены.

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

    {
        "dat":{
            "1": ["город","телефон"],
            "2": ["адрес"]
        },
        "xdat":{
            "1": ["код метрики"]
        }
    }

    Ключи массива "dat" и "xdat" определяют это основные данные или экстраданные. Ключи в виде номеров означают поля шаблона.

    Можно использовать усеченные форматы массива имен переменных:
    КодПримечание
    {"dat":{"1": ["город"]}}Полный формат. Заменить переменную "город" в поле 1 основных данных
    {"dat":{"1": []}}Проверить все переменные в поле 1 основных данных и заменить их.
    {"dat":{}}Проверить все переменные и заменить их во всех текстовых полях основных данных
    {}Проверить все переменные и заменить их во всех текстовых полях, как в основных данных, так и в экстраданных.

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

  4. В окне редактирования

    В редактируемых данных вставляйте переменные в таком виде: "Я поехал в город {{город}}", то есть, обрамляйте имена переменых двумя фигурными скобками.

    Применять переменные замены можно только в текстовых полях: char, varchar, tinytext, text, mediumtext, longtext.

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


  5. См. также