Массовые редиректы в 1C Bitrix

2021.02.26
Давайте представим что мы спарсили все товары со старого сайта и записали их на новый, при этом ссылки товаров и разделов на старом сайте отличаются от нового, заказчик просит сохранить позиции в поисковой выдаче, для этого нам нужно что бы при переносе домена ссылки на наши товары размешенные на сторонних сайтах продолжали на них вести даже если они изменились. Для этого нам нужно прописать редиректы на все товары и разделы, но большое количество редиректов не запишешь в файл .htaccess по этому предлагаю альтернативное решение данной проблемы.
1) Создаём свойство (старая ссылка) у товаров на новом сайте и записываем туда при парсинге ссылку на товар со старого сайта
2) Делаем тоже самое что и в первом пункте только уже для разделов
далее скриптом создаём 2 массива с ссылками со старыми и новыми ссылками в одинаковом порядке
Пример скрипта для создания ссылок
после этого создаём файл array_redirect.php например в корне сайта и подключаем его в файле init.php нашего сайта.
записываем эти 2 массива в файл array_redirect.php и в этом файле объявляем что это глобальные массивы
далее вставляем в шапку сайта код представленный ниже
        <?php
global $NEW_LINKS, $OLD_LINKS; /* Массивы со старыми и новыми ссылками */
$key = false;
$key = array_search($_SERVER['REQUEST_URI'], $OLD_LINKS);
if ($key !== false)
{
    LocalRedirect("https://адрес сайта/".$NEW_LINKS[$key], false, "301 Moved permanently");
}
?>    
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений