Вопросы про публичное отключение одного из сайтов здесь неоднократно задавались. Есть в итоге официальный совет на странице 1c-bitrix, но с ним есть засада. Там используется хэндлер по PrologBefore и как следствие оказалось, что скрипт ответа платежной системы (в нашем случае yandex-касса, но похоже для других тоже) sale_ps_result.php умирает если применить этот прием (у скрипта ответа есть require(.... /prolog_before.php") . При этом штатное отключение публичной части для всех сайтов не вызывает такой проблемы, судя по всему потому, что его die находится в PrologAfter, который скриптом ответа платежной системы не используется совсем.
Проблема была обойдена использованием анализа $_SERVER['SCRIPT_FILENAME'] на соответствие имени файла sale_ps_result.php, но осадок остался.
В данном случае немного странно, что тот, кто описывал этот хак на битриксовском сайте, не использовал PrologAfter, таким образом поведение штатного отключения и этого приема было хотя бы отчасти сходно и скорее всего не было бы проблем с платежными системами.
Или может быть есть какой-то другой, более правильный способ посайтового отключения, который не создает опосредованных проблем типа этой платежной?