Здравствуйте, для лечения этой известной проблемы применил стандартное решение с форума, добавил обработчик в init.php:
Код |
---|
AddEventHandler('main', 'OnEpilog', '_Check404Error', 1);
function _Check404Error()
{
if (defined('ERROR_404') && ERROR_404=='Y')
{
GLOBAL $APPLICATION;
$APPLICATION->RestartBuffer();
include $_SERVER['DOCUMENT_ROOT'].'/bitrix/templates/'.SITE_TEMPLATE_ID.'/header.php';
require ($_SERVER['DOCUMENT_ROOT'].'/404.php');
include $_SERVER['DOCUMENT_ROOT'].'/bitrix/templates/'.SITE_TEMPLATE_ID.'/footer.php';
}
} |
Решение работает, однако в случае ЧПУ вида #SECTION_CODE#/#ELEMENT_CODE# при вводе адреса наподобие site.ru/any-text 404 страничка не показывается. Вот так срабатывает правильно site.ru/any-text/ и вот так site.ru/any-text/any-text. В чем разница, не пойму?