Здравствуйте. Сделали свой шаблон для страницы 404. В настройках сайта применили этот шаблон к файлы 404.php, но, если набрать что-то вроде: http://site.ru/sdasdasdas.php, то все-равно 404 ошибка выводится в шаблоне по умолчанию который.. p.s. при открытие адреса http://site.ru/404.php шаблон верный..
ХМ, странно, если при прямом вызове шаблон применяется, а при срабатываении 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");
Экс-битриксоид.
Компонент (и.с.) - существительное мужского рода (ГОСТ 34.003-90).
Нет, не помогло. Сейчас шаблон 404 в настройках сайта - идет первым, после него дефолтный и все остальные, но все-равно при запросе типа http://site.ru/asasas выводится дефолтный шаблон.
Так у вас пустая страница и есть, добавьте что-нибудь после SetTtile, например echo "hello!"; Поскольку вы отключили хедер и футер, то весь код html, начиная с DOCTYPE и до </html> надо писать между вызовом пролога и эпилога.
Еще очень рекомендую выдавать разные 404 на запросы страниц и ресурсов (картинок,js,css,...). Представьте, что будет, если пользователь загружает скажем статью с 10 картинками с неверными ссылками: на каждую картинку битрикс будет выдавать браузеру страницу в лучшем случае с лишним текстом, а в худшем - с меню, календарями, баннерами и прочими нагружающими трафик и БД радостями, которые могут добавить дизайнеры в шаблон.
Экс-битриксоид.
Компонент (и.с.) - существительное мужского рода (ГОСТ 34.003-90).