В битриксе вместо 404 отдаёт код 200 и не переходит на страницу 404, в чём дело?

Добрый вечер
Столкнулся с проблемой, в битриксе вместо 404 страницы и ошибки отдаётся код 200, если ввести адрес к примеру site.ru/abrakadabra

- Страница 404.php в корне сайта есть. Сохранена в UTF-8 без BOM. При попытке открыть site.ru/404.php не открывается, остается просто главная.
- В главном модуле галка отдавать 200 вместо 404 не стоит.
- Сайт на BitrixVM последней версии, сам битрикс 18.0.4 (демонстрационная на 30 дней), на хостинге (бегет, таже проблема).

В чём может быть причина?
  • Вопрос задан
  • 2762 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kontrael
1. Проверьте .htaccess в корне. Должна присутствовать строка ErrorDocument 404 /404.php
2. Перейдите напрямую на файл с 404 //site.ru/404.php Если страница, не белая, значит проблема в логике "какую страницу показывать", если белая, то в самой странице. Возможно, где-то забыли убрать die(); при отладке

Если после открытия содержимого страницы, все еще будет 200 статус, надо добавить вот это в начало 404.php
<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
CHTTP::SetStatus("404 Not Found");
@define("ERROR_404","Y");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
use Bitrix\Main\Localization\Loc;
$APPLICATION->SetTitle("Страница не найдена");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы