23  /  26

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

Просмотров: 3141 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 07.12.2017
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
1
2
3
4
5

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

Однако, указанная возможность позволяет выполнить действие только для всех сайтов системы одновременно. Для того чтобы закрыть отдельный сайт в рамках многосайтовой конфигурации, необходимо разместить специальный программный код в файле: /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 - идентификатор сайта, который нужно закрыть.

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

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

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