Всем доброго времени суток
Задача стоит такая:
На сайте настроена отдача 404й ошибки без изменения урла, нужно сделать 301 редирект на статическую страницу 404.html которая будет отдавать 404 статус.
файл 404.php:
Проблема в том, что при добавлении в 404.php функции LocalRedirect ("/404.html", "404 Not Found"
осуществляется 302 редирект, а 404.html возвращает ответ "200 ОК"
добавление в .htaccess правила
не помогает..
Читал статьи по это теме, в частности , использование
также не решает проблемы, все тот же 302 редирект и статус 200.
Может кто-нибудь помочь, или дать понять где подвох?
Задача стоит такая:
На сайте настроена отдача 404й ошибки без изменения урла, нужно сделать 301 редирект на статическую страницу 404.html которая будет отдавать 404 статус.
файл 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->IncludeComponent("bitrix:main.map", ".default", array(
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"SET_TITLE" => "Y",
"LEVEL" => "3",
"COL_NUM" => "2",
"SHOW_DESCRIPTION" => "Y"
),
false
);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
осуществляется 302 редирект, а 404.html возвращает ответ "200 ОК"добавление в .htaccess правила
| Код |
|---|
"ErrorDocument 404 /404.html" |
Читал статьи по это теме, в частности , использование
| Код |
|---|
/* Неочевидное перенаправление на страницу 404-ой ошибки */
AddEventHandler("main", "OnEpilog", "Redirect404");
function Redirect404() {
if(defined("ERROR_404") ) {
LocalRedirect("/404.php", "404 Not Found");
}
}
|
Может кто-нибудь помочь, или дать понять где подвох?