Как закрыть только один из сайтов для посещения пользователей
Просмотров: 46961
Дата последнего изменения: 18.11.2019
Сложность урока:
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 - идентификатор сайта, который нужно закрыть.
Внимание! Учтите, что при добавлении этого кода перестанут работать задания выполняемые через
cron
Всецело можно сказать одно: если агенты занимают несколько десятых долей секунды, то уже стоит задуматься о переносе агентов на cron.