Dmitry, к файлу /bitrix/php_interface/init.php подключался файл /bitrix/gkcatalog.php. В нем я нашел 2 строки с таким содержанием:[COLOR=#191919]header("Location: /404.php"),могут ли они быть причиной 302 редиректа? Если да,то как нужно их переписать?Спасибо.[/COLOR]
[COLOR=#191919]Отрывок из кода:[/COLOR]
[FONT=Verdana, Arial, Helvetica, sans-serif]public static function getMode(){
$TIMESTART = timeMeasure();
//if(!GKCatalog::getState()) header("Location: /404.php");
$_url = explode("?",$_REQUEST["CURL"]);
$clearUrl = $_url[0];
$urlArray = explode("/", $clearUrl);
$new_lvl = Array();
foreach($urlArray as $x){
$new_lvl[] = iconv("UTF-8", "cp1251", $x);
}
$urlArray = $new_lvl;
[COLOR=#191919] if(sizeof($urlArray)-sizeof(array_unique($urlArray)))[/COLOR][COLOR=#ff0000] header("Location: /404.php")[/COLOR][COLOR=#191919];[/COLOR]
$lastUrl = array_pop($urlArray);
// Проверяем на тип страницы
// Если детальное описание
$arFilter = Array(
"IBLOCK_ID"=>6,
"CODE"=>$lastUrl,
"ACTIVE" => "Y"
);
$arSelect = Array();
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);
if($mode = $res->getNextElement()) GKCatalog::detailItem($mode->fields["ID"]);
// Если категория
else{
$arFilter = Array(
"IBLOCK_ID"=>6,
"CODE"=>$lastUrl
);
$arSelect = Array();
$res = CIBlockSection::GetList(Array(), $arFilter);
if($mode = $res->getNextElement()){
GKCatalog::listItem($mode->fields["ID"]);
}
else{
// Либо бренд, либо тип
$prelastUrl = array_pop($urlArray);
// Получим бренд/тип
$last_arg = trim(str_replace("_"," ",str_replace($prelastUrl,"",$lastUrl)));
//а теперь проверим, бренд ли это
$brands_list = CIBlockProperty::GetPropertyEnum("CML2_PRODUCED", Array(), Array("IBLOCK_ID"=>6, "VALUE"=>$last_arg));
if($brand_item = $brands_list->GetNext()){
// Бренд
// Указываем раздел
$arSelect = Array();
$arFilter = Array("CODE"=>$prelastUrl);
$res = CIBlockSection::GetList(Array(), $arFilter, false, Array(), $arSelect);
$ob = $res->GetNextElement();
GKCatalog::listItem($ob->fields["ID"], "brand", $brand_item);
}
else{
// Может, тип?!
// Вернём вместо пробелов символ _
$last_arg = trim(str_replace($prelastUrl,"",$lastUrl),"_");
$types_list = CIBlockProperty::GetPropertyEnum("CML2_PURPOSE", Array(), Array("IBLOCK_ID"=>6, "EXTERNAL_ID"=>$last_arg));
if($type_item = $types_list->GetNext()){
$arSelect = Array();
$arFilter = Array("CODE"=>$prelastUrl);
$res = CIBlockSection::GetList(Array(), $arFilter, false, Array(), $arSelect);
$ob = $res->GetNextElement();
GKCatalog::listItem($ob->fields["ID"], "type", $type_item);
}
else{
[COLOR=#ff0000] header("Location: /404.php")[/COLOR][COLOR=#191919];[/COLOR]
}
}
}
}
echo '<!--getMode() - '.round(timeMeasure()-$TIMESTART, 6).' сек.-->';
}
[/FONT]