Использование нескольких доменов на одном сайте.

Параметры для поддержки мультидоменности

параметр

значение

описание

$ PARAMS['site_use_domain']

1|0

Включение поддержки мультдоменности. Задается в index.php 
При включении мультдоменности параметр $ PARAMS['error_404'] не будет обрабатываться. 
Начиная с версии 4.4.147 параметр error_404 может быть задан в корне сайта и в корне веток доменов.

$ PARAMS['site_lock_domain']

1|0

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

site_domain

www.domain.com
www.domain2.com
domain2.com

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

при использовании модификатора acc=1 к параметру site_domain ветви добавляются site_domain родителей. домены ветви будут иметь приоритет над доменами родителей 

Параметр должен быть задан отдельным полем в таблице

site_one_domain

1|0

Задаёт использование только одного домена. Не требует мультидоменности и отдельного включения параметра site_use_domainМожет быть задан в корневом разделе или для ветви сайта.

Это полезно при оптимизации сайта для удаления зеркал. С помощью этого параметра, например, можно все запросы на mydomain.com перенаправлять на www.mydomain.com.

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

Если задан параметр site_domain, то перенаправление будет идти на первый домен в списке параметра site_domain

error_404 Указывает идентификатор страницы-заглушки, которая выводится, если запрашиваемая страница не найдена. Начиная с версии 4.4.147 этот параметр может быть задан в корне сайта.
Страница заглушки не должна иметь параметр "ЧПУ" или "домашная страница" иначе вместо отдачи поисковикам кода 404 будет отдаватьтся код 301 - перенаправление.

Если основной домен при параметре site_one_domain отключен или будет находиться на другом сервере, то доступ к управлению сайтом будет потерян. В этом случае нужно использовать ftp, чтобы добавить в index.php параметр site_domain_off со значением 1:
$PARAMS['site_domain_off'] = 1;

Примеры запросов, результатов и условий:

http://www.domain.com/

Посетитель получает страницу 1 (по умолчанию)

  • домен не прописан или задан в корне сайта.

Посетитель получает страницу, где прописан домен

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

http://www.domain.com/?id=...

Посетитель получает запрошенную страницу 

  • запрошенный домен нигде не прописан и нет записей доменов в корне ветви запрошенной страницы
  • запрошенный домен прописан в site_domain в корне ветви запрошенной страницы

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

  • site_domain_lock = 1 и домен не прописан в site_domain в корне ветви у запрошенной страницы

Посетитель получает запрошенную страницу, но при этом перенаправлен на другой домен

  • site_domain_lock = 0 и домен не прописан в site_domain в корне ветви у запрошенной страницы 

Посетитель перенаправлен на этот же домен с изменением адреса с /?id=... на /news

  • для запрошенной страницы прописан параметр site_home_page и в корне ветви задан site_domain, включающий запрошенный домен 

Посетитель перенаправлен на другой домен с изменением адреса с /?id=... на /news

  • site_domain_lock = 1, запрошена страница ветви с другим доменом и для этой страницы был задан параметр site_home_page

http://www.domain.com/news

Посетитель получает ожидаемую страницу news соответствующего домена

  • в корне ветви задан site_domain, включающий запрошенный домен, для запрошенной страницы прописан параметр site_home_page 

Посетитель получает страницу news соответствующего домена, которая не соответвует ожидаемой

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

Посетитель получает страницу с сообщением об ошибке

  • site_domain_lock = 1 и внутри ветви с запрошенным доменом нет объекта с запрошенной site_home_page
  • site_domain_lock = 0 и на всем сайте нет объекта с запрошенной site_home_page

Посетитель получает страницу news другого домена с перенаправлением на другой домен, что не соответвует ожидаемому результату. 

  • site_domain_lock = 1 
  • site_domain_lock = 0
  • запрошенной site_home_page нет в ветви домена 
     

 

site_home_page задан в 

 

 

site_home_page задан в выше по дереву без домена 

site_home_page задан в выше по дереву с доменом 

site_home_page задан в другой ветви 

1. когда нет доменов, но есть дубликаты

2. когда есть мультидомены и могут быть дубликаты при запросе комбинаций домен+домашняя страница

как проверить 

1. выбрать site_domain редактируемой страницы

2. для каждого домена из site_domain выбрать ветви где он задан

3. для каждой ветви выполнить поиск site_home_page на заданное значение  (parents_id like "1,.....%")

и второй способ, который может не учесть вложенности доменов 

1. выбрать site_domain редактируемой страницы

2. выбрать дубликаты site_home_page

3. для доменов в site_domain редактируемой страницы проверить наличие домена в site_domain дубликатов

 

 

 

 

 

Поиск по документации
закрыть 483
открыть 1611
открыть 1200
открыть 1604
открыть 1605
открыть 1606
открыть 1612
закрыть 2196
Контактная информация
603000, Россия,
г. Нижний Новгород,
ул. Студеная, дом 5,
4-й этаж.
info@graphit.ru

(831) 260–16–32