Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Принудительный вызов 404 ошибки

00 голосов
5
Здравствуйте.

На странице сайта выделяется часть УРЛ как символьный код элемента инфоблока. Сам инфоблок ищется вручную при помощи функции GetIBlockElementList(). Если эта функция возвращает false, то надо вернуть 404 ошибку.

Как ее вызвать ?

Подскажите, пожалуйста.
спросил 14 Ноя, 13 от marcel (160 баллов)

5 Ответы

00 голосов
Код
<?php
header("HTTP/1.0 404 Not Found");
?>


или есть битрикс-API функция для этого. Можно в мануале посмотреть.
ответил 28 Дек, 13 от ZakonD3D (600 баллов)
00 голосов
CHTTP::SetStatus("404 Not Found");
@define("ERROR_404","Y");
ответил 14 Апр, 14 от shiva (100 баллов)
00 голосов
Виталий
Евгений Неверов

Спасибо.


Но хочется сделать так, чтобы не только посылался заголовок ответа (404 Not Found), но показывалась вместо текущей страницы страница предназначенная для 404 ошибки.

Просто сейчас загружается страница с пустой контентной областью, а необходимо показать страницу предназначенную для 404 ошибки. Т.е. отменить вывод текущей страницы и вместо нее выдать страницу с описанием ошибки.
ответил 06 Авг, 14 от marcel (160 баллов)
00 голосов
Редиректните тогда просто на страницу 404.php . Зачем вам тогда 404-я ошибка?
ответил 10 Дек, 14 от ZakonD3D (600 баллов)
00 голосов
Пока решил задачу таким образом:

Код
$item = $items->GetNext();
if (!$item)
{
   CHTTP::SetStatus("404 Not Found"); 
   @define("ERROR_404","Y");
   
   $rsSites = CSite::GetByID(SITE_ID);
   $arSite = $rsSites->Fetch();
   include($arSite['DOC_ROOT']."/404.php");
   return;
}


Оформил ввиде отдельной функции, которую залил в /bitrix/php_interface/ID_сайта/init.php
ответил 02 Апр, 15 от marcel (160 баллов)

Похожие вопросы

0 голосов
8 ответов
спросил 14 Май, 13 от nonameXXX (260 баллов)
0 голосов
5 ответов
спросил 09 Май, 13 от XiaoDong (200 баллов)
0 голосов
4 ответов
спросил 07 Май, 13 от RUSHipimp (200 баллов)
0 голосов
10 ответов
спросил 27 Янв, 13 от superher (260 баллов)
0 голосов
2 ответов
спросил 06 Май, 14 от ZooWolf (120 баллов)