Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
ХМ, странно, если при прямом вызове шаблон применяется, а при срабатываении ErrorDocument нет, получается батрикс применяет шаблон до срабатывания ErrorDocument. Вряд ли это лучшее решение, но можно задать шаблон непосредственно в самой странице 404.php, а вместо header.php и footer.php использовать
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
Нет, не помогло. Сейчас шаблон 404 в настройках сайта - идет первым, после него дефолтный и все остальные, но все-равно при запросе типа http://site.ru/asasas выводится дефолтный шаблон.