AddEventHandler("main", "OnEpilog", function () { global $APPLICATION; // Если уже 404, не повторяем if (defined("ERROR_404") && ERROR_404 === "Y") { return; } // Исключаем сам файл 404 if (strpos($APPLICATION->GetCurPage(), '/404.php') !== false) { return; } // Проверяем статус ответа $status = http_response_code(); if ($status === 404 || $APPLICATION->GetCurPage() === '/404.php') { CHTTP::SetStatus("404 Not Found"); @define("ERROR_404", "Y"); $APPLICATION->RestartBuffer(); include($_SERVER["DOCUMENT_ROOT"] . "/404.php"); die(); } // Если компонент не отработал и заголовок пустой $buffer = $APPLICATION->GetTitle(); if (empty($buffer) && !defined("BX_BUFFER_USED")) { CHTTP::SetStatus("404 Not Found"); @define("ERROR_404", "Y"); $APPLICATION->RestartBuffer(); include($_SERVER["DOCUMENT_ROOT"] . "/404.php"); die(); } });
[Error] 
Class 'CIBlock' not found (0)
/var/www/html/local/templates/main/header.php:15
#0: include_once
	/var/www/html/bitrix/modules/main/include/prolog_after.php:96
#1: require(string)
	/var/www/html/bitrix/modules/main/include/prolog.php:11
#2: require_once(string)
	/var/www/html/bitrix/header.php:1
#3: require(string)
	/var/www/html/cabinet/register/index.php:2
#4: include_once(string)
	/var/www/html/bitrix/modules/main/include/urlrewrite.php:159
#5: include_once(string)
	/var/www/html/bitrix/urlrewrite.php:2