@run182

Как настроить 404 для страниц фильтра, если параметра переданного фильтру не существует?

Вопрос по функционалу каталога и умного фильтра.

Есть страница с фильтром по бренду: /catalog/smartphones/filter/brand-is-apple/
Такой бренд существует и страница успешно отфильтровала товары.

Но, если в фильтр добавить значение, по которому нет товаров (такого бренда не существует), например такой: /catalog/smartphones/filter/brand-is-apple123/
То страница все равно откроется, но без фильтра.

Получается проблема для СЕО. Как можно отследить этот момент в умном фильтре, чтобы настроить 404?
  • Вопрос задан
  • 693 просмотра
Решения вопроса 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
В шаблон фильтра
Например по такому пути:
bitrix/templates/Шаблон/components/bitrix/catalog.smart.filter/Шаблон/template.php
$URL = $APPLICATION->GetCurDir();
if ($URL != $arResult[SEF_SET_FILTER_URL]) {
//echo 'ERROR 404';CHTTP::SetStatus("404 Not Found"); 
//@define("ERROR_404","Y");
//если раскомментировать - выдаст 404, иначе ниже - делаем редирект
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$arResult[SEF_SET_FILTER_URL]);
exit();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы