Здравствуйте, как реализовать ошибку 404 на сайте битрикс с торговым каталогом?
например если вот такой путь:
https://site.ru/catalog/dfdfdf/
илиhttps://site.ru/catalog/CATEGORY_NAME/dfdfdf/
илиhttps://site.ru/catalog/CATEGORY_NAME/SUBCATEGORY_NAME/dfdfdf/
Пробовал сделать вот так, добавляя этот код init.php
или даже так:
Но не помогает! Все равно отображается список категорий каталога и ответ сервера 200.
Во втором варианте кода, вообще почему то 500 ошибка!
Не понимаю почему в Битрикс такие сложности со стандартным функционалом, это же коммерческая CMS !
Помогите разобраться с этой мутной историей, уже многократно с ней сталкиваюсь но рабочего варианта, котрый бы работал везде и стандартно я так и не нашел!
например если вот такой путь:
или
или
Пробовал сделать вот так, добавляя этот код init.php
Код |
---|
AddEventHandler('main', 'OnEpilog', '_Check404Error', 1); function _Check404Error(){ if(defined('ERROR_404') && ERROR_404=='Y' || CHTTP::GetLastStatus() == "404 Not Found"){ GLOBAL $APPLICATION; $APPLICATION->RestartBuffer(); require $_SERVER['DOCUMENT_ROOT'].SITE_TEMPLATE_PATH.'/header.php'; require $_SERVER['DOCUMENT_ROOT'].'/404.php'; require $_SERVER['DOCUMENT_ROOT'].SITE_TEMPLATE_PATH.'/footer.php'; } } |
Код |
---|
if(stripos($_SERVER['REQUEST_URI'], '/catalog/')!==false){ //print_r($_SERVER['REQUEST_URI']); preg_match_all('#\/catalog\/([\.\-0-9a-zA-Z]+)(/?)([^/]*)#i', $_SERVER['REQUEST_URI'], $out, PREG_PATTERN_ORDER); if($out[1][0]){ if(count(getSectionByCode(11, $out[1][0]))){ }else{ // GLOBAL $APPLICATION; $APPLICATION->RestartBuffer(); require $_SERVER['DOCUMENT_ROOT'].SITE_TEMPLATE_PATH.'/header.php'; require $_SERVER['DOCUMENT_ROOT'].'/404.php'; require $_SERVER['DOCUMENT_ROOT'].SITE_TEMPLATE_PATH.'/footer.php'; } } } |
Но не помогает! Все равно отображается список категорий каталога и ответ сервера 200.
Во втором варианте кода, вообще почему то 500 ошибка!
Не понимаю почему в Битрикс такие сложности со стандартным функционалом, это же коммерческая CMS !
Помогите разобраться с этой мутной историей, уже многократно с ней сталкиваюсь но рабочего варианта, котрый бы работал везде и стандартно я так и не нашел!
С ув. Вячеслав Докукин