Перечитал практически все материалы, перепробовал все, но ничего не помогло. При вводе несуществующего адреса, например, tulpar-trade.ru/sdfdsf открывается просто белая страница, никаких ошибок, статус 200 (https://bertal.ru/index.php?a6112800/tulpar-trade.ru/sdfgshrth#h )
Страница 404 существует, галочка "Посылать в заголовке статус 200 на 404 ошибку" не стоит. Причем если пытаться заходить на 404.php напрямую, все равно она не открывается, опять же лишь белая страница. Подозреваю, что проблема в /bitrix/modules/main/include/urlrewrite.php, так как если закомменить эти строки, страница открывается.
Вот содержимое страниц
404.php
init.php
Страница 404 существует, галочка "Посылать в заголовке статус 200 на 404 ошибку" не стоит. Причем если пытаться заходить на 404.php напрямую, все равно она не открывается, опять же лишь белая страница. Подозреваю, что проблема в /bitrix/modules/main/include/urlrewrite.php, так как если закомменить эти строки, страница открывается.
Вот содержимое страниц
404.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"); $APPLICATION->SetTitle("Страница не найдена"); $APPLICATION->SetPageProperty("keywords", "Страница не найдена"); $APPLICATION->SetPageProperty("description", "Страница не найдена"); ?> <div class="container-error-page"> <div class="error-page-big-text"> 404 </div> <div class="col col-12 ta-center"> <?$APPLICATION->IncludeComponent( "bitrix:search.form", "bottom", array( "COMPONENT_TEMPLATE" => "bottom", "PAGE" => SITE_DIR."search/index.php" ), false );?> </div> <p> <a href="/">Главная страница</a> </p> <p> <a href="search/map.php">Карта сайта</a> </p> </div> <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?> |
Код |
---|
AddEventHandler('main', 'OnEpilog', '_Check404Error', 1); function _Check404Error(){ if(defined('ERROR_404') && ERROR_404=='Y' || CHTTP::GetLastStatus() == "404 Not Found"){ CHTTP::SetStatus('404 Not Found'); GLOBAL $APPLICATION; $APPLICATION->RestartBuffer(); require $_SERVER['DOCUMENT_ROOT'].'/404.php'; } } |