Перечитал практически все материалы, перепробовал все, но ничего не помогло. При вводе несуществующего адреса, например, tulpar-trade.ru/sdfdsf открывается просто белая страница, никаких ошибок, статус 200 ()
Страница 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';
}
}
|