Так не прокатит?
AddEventHandler("main", "OnEpilog", "Redirect404"
;
function Redirect404() {
if(!defined('ADMIN_SECTION') &&
defined("ERROR_404"
&&
file_exists($_SERVER["DOCUMENT_ROOT"]."/404.php"
)
{
global $APPLICATION;
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found"
;
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php"
;
include($_SERVER["DOCUMENT_ROOT"]."/404.php"
;
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php"
;
}
}
AddEventHandler("main", "OnEpilog", "Redirect404"
;function Redirect404() {
if(!defined('ADMIN_SECTION') &&
defined("ERROR_404"
&&file_exists($_SERVER["DOCUMENT_ROOT"]."/404.php"
)
{
global $APPLICATION;
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found"
;include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php"
;include($_SERVER["DOCUMENT_ROOT"]."/404.php"
;include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php"
;}
}