Добрый день! Не могу настроить 404 страницу в комплексном компоненте bitrix.news. В компоненте поставил галочку "Устанавливать статус 404 если не найден элемент или раздел", у компонента включен ЧПУ ( [url]http://joxi.ru/zbYGVIwyTJA5A_en4bg[/url] ). В Init.php прописал
[CODE]//404 страница в комплексных компонентах
AddEventHandler("main", "OnProlog", "_Check404Error",1);
function _Check404Error()
{
global $APPLICATION;
$cp = $APPLICATION->GetCurPage();
if ((defined('ERROR_404')) && (ERROR_404=='Y'))
{
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php");
require ($_SERVER["DOCUMENT_ROOT"]."/404.php");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php");
die();
}
}
AddEventHandler("main", "OnEpilog", "Redirect404");
function Redirect404() {
if(
!defined('ADMIN_SECTION') &&
defined("ERROR_404") &&
//defined("PATH_TO_404") &&
file_exists($_SERVER["DOCUMENT_ROOT"]."/404.php")
) {
//LocalRedirect("/404.php", "404 Not Found");
global $APPLICATION;
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php");
include($_SERVER["DOCUMENT_ROOT"]."/404.php");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php");
}
} [/CODE]ни то ни то не работает. =( Чё не так делаю?
P.S. причём даже со стандартным шаблоном если набрать в адресе не существующую страницу, ошибки (как это обычно бывает) "Раздел не найден" или "Элемент не найден" - [B]не выдаёт![/B]
[CODE]//404 страница в комплексных компонентах
AddEventHandler("main", "OnProlog", "_Check404Error",1);
function _Check404Error()
{
global $APPLICATION;
$cp = $APPLICATION->GetCurPage();
if ((defined('ERROR_404')) && (ERROR_404=='Y'))
{
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php");
require ($_SERVER["DOCUMENT_ROOT"]."/404.php");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php");
die();
}
}
AddEventHandler("main", "OnEpilog", "Redirect404");
function Redirect404() {
if(
!defined('ADMIN_SECTION') &&
defined("ERROR_404") &&
//defined("PATH_TO_404") &&
file_exists($_SERVER["DOCUMENT_ROOT"]."/404.php")
) {
//LocalRedirect("/404.php", "404 Not Found");
global $APPLICATION;
$APPLICATION->RestartBuffer();
CHTTP::SetStatus("404 Not Found");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php");
include($_SERVER["DOCUMENT_ROOT"]."/404.php");
include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php");
}
} [/CODE]ни то ни то не работает. =( Чё не так делаю?
P.S. причём даже со стандартным шаблоном если набрать в адресе не существующую страницу, ошибки (как это обычно бывает) "Раздел не найден" или "Элемент не найден" - [B]не выдаёт![/B]