Проблема в том, что при добавлении любых букв в конце урла после ID элемента, страница отдает 200 ответ сервера, хотя должна 404.
site.ru/catalog/tverdosplavnye_frezy_po_tsvetnym_metallam_z1_seriya_a/1098aaabbbcccddd/
Что уже испробовал:
1. В htaccess имеются строки:
Options -Indexes
ErrorDocument 404 /404.php
2. 404.php есть и в ней есть
CHTTP::SetStatus('404 Not Found');
@define('ERROR_404', 'Y');
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
$APPLICATION->SetTitle('Страница не найдена');
3. В файле \bitrix\php_interface\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';
}
}
4. В настройках компонента стоят галки
Устанавливать статус 404:
Показ специальной страницы:
Страница для показа (по умолчанию /404.php): /404.php
Версия: "1С-Битрикс: Управление сайтом 22.600.100"