Разбираем альтернативный способ перенаправления на другую страницу, с указанием статуса.
LocalRedirect со статусом 301 в Битриксе
LocalRedirect – очень старая функция, она существует еще с 3 версии Битрикса . Давайте разберем, как она записывается, и что при её помощи можно делать.
LocalRedirect($arResult["sUrlPath"], false, "301 Moved permanently");
$arResult[“sUrlPath”] – первый параметр, переменная – собственно сам URL, на который мы будем переходить, или, другими словами, делать редирект.
false – Необязательный. Значение true позволяет пропустить проверку модуля безопасности на фишинг.
“301 Moved permanently” – Необязательный. Заголовок ответа HTTP, он же код (статус).
Редирект можно, а в некоторых случаях даже нужно, делать через файл .htaccess, который лежит в корне сайта, но сегодня не об этом.
Вы спросите, а в чем же тогда смысл этой статьи? А смысл друзья в том, что стандартно у нас 3-ий параметр передается как $status=”302 Found”, что очень может испортить всю картину при оптимизации сайта, не говоря уже про “сеошников” (специалистам, которые занимаются SEO).
Яркий пример, компонент постраничной навигации. В очень многих случаях system.pagenavigation – делает редирект с первой страницы в основной раздел именно с этим статусом.
Где еще может пригодится данная функция? Когда htaccess бессилен написать сложную логику переходов, её можно написать при помощи LocalRedirect, правильно передав статус, используя PHP и API 1С-Битрикс.