21:38 Как сделать 404 ошибку в CMS Bitrix | |
Как сделать 404 ошибку в CMS BitrixЕсли Вы владелец сайта на CMS Bitrix, то Вас наверняка должны волновать дубли страницы на сайте из-за плохо работающей стандартной 404 ошибки. Самое обидное в этой ситуации то, что исправить подобные баги движка можно только самостоятельно. Примером неправильной работы может быть то, что движок отдает верные ответы на такие URL: http://site/catalog/jgshdhjkf/20/ http://site/catalog/lkfdhgk;lad/ и т.д. Хотя должен на такие запросы выдавать 404 страницу. Теперь перейдем к решению этой проблемы. Для этого Вам понадобится доступ по ftp к файлам Вашего сайта. 1. Открываем файл: bitrix/components/bitrix/catalog.element/component.php, после строки: $rsElement->SetSectionContext($arSection); Дописываем: if(!is_array($rsElement->arSectionContext)) { ShowError(GetMessage("CATALOG_ELEMENT_NOT_FOUND")); @define("ERROR_404", "Y"); if($arParams["SET_STATUS_404"]==="Y") CHTTP::SetStatus("404 Not Found"); return; } 2. Заходим в bitrix/modules/main/include/epilog.php. Добавляем в начало файла сразу после начала действия <?php: define("PATH_TO_404", "/404.php"); AddEventHandler("main", "OnEpilog", "Redirect404"); function Redirect404() { if(!defined('ADMIN_SECTION') && defined("ERROR_404") && defined("PATH_TO_404") && file_exists($_SERVER["DOCUMENT_ROOT"].PATH_TO_404)) { global $APPLICATION; $APPLICATION->RestartBuffer(); CHTTP::SetStatus("404 Not Found"); include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/header.php"); include($_SERVER["DOCUMENT_ROOT"].PATH_TO_404); include($_SERVER["DOCUMENT_ROOT"].SITE_TEMPLATE_PATH."/footer.php"); } } Теперь 404 ошибка будет обрабатываться верно. Не забудьте создать файл 404.php в корне вашего сайта. Если Вы не сделаете Выше описанные действия, то Ваши конкуренты могут Вам легко "насолить", поскольку у них будет сильное оружие: бесконечные дубли на Вашем сайте. После этого очистите кэш вашего сайта и с помощью bertal.ru проверьте коды ответов сайта на различные неверные запросы. | |
Категория: Все о сайтах | Просмотров: 657 | |
Всего комментариев: 0 | |