Из коробки 1С не умеет работать с сайтами на https и поэтому после редиректа сайта выгрузка перестаёт работать. Правильным выходом, конечно, будет обратиться к специалистам 1С чтобы они сделали доработку, тогда ваша выгрузка снова заработает. Но что делать если нет возможности обратиться к специалистам 1С, а выгрузка нужна здесь и сейчас?! Попытаюсь ответить на этот вопрос, но замечу что это временный способ, и он не рекомендуется.
Как вы поняли из заголовка речь сейчас идёт о сайте под управлением CMS «1С Битрикс Управление сайтом», так что я пишу эту статью с поправкой что речь идёт о конкретной CMS.
Чтобы 1С выгружал на сайт ему нужно обратиться к файлу, который расположен по адресу /bitrix/admin/1c_exchange.php относительно корня сайта. Следовательно, чтобы выгрузка заработала нужно чтобы этот файл был доступен по http.
опустим вы пользуетесь вот таким редиректом:
RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Думаю, не нужно вам рассказывать в подробностях, ведь данная статья понадобиться вам только если вы уже перешли на https и выгрузка перестала работать. Если вам нужно узнать подробнее о переходе на https то прочитайте эту статью.
Чтобы выгрузка заработала нужно редирект изменить на этот:
RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !/bitrix/admin/1c_exchange.php RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Тогда ваш файл станет доступен по http и выгрузка снова заработает.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https [OR] RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] RewriteCond %{REQUEST_URI} !/bitrix/admin/1c_exchange.php RewriteRule ^(.*)$ https:// example.com/$1 [R=301,L]
Тут уже пример в котором учтён редирект с www.
Вы можете сделать доступным сайт по http, не только для одного файла, но и для целого сайта для пользователя с определённым IP. Я считаю, что это более безопасный способ, но у него есть и недостаток, вам нужен статический IP, что не всегда возможно, например если в вашей компании стоит балансировщик нагрузки на сеть и вы можете подключиться под разным ip. Для пользователей ноутбуков это будет не актуально т.к. они подключаются из разных сетей.
RewriteCond %{HTTP:X-Forwarded-Proto} !=https [OR] RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC] [OR] RewriteCond %{REMOTE_ADDR} !=178.110.15.26 RewriteRule ^(.*)$ https://example.ru/$1 [R=301,L]
не забываем поставить свой ip
Как я уже упоминал, приведённые примеры должны быть временными решениями. Следовательно нужно чтобы были проведены изменение настроек в 1С. О настройках сертификатов вы можете прочитать в статье по ссылке.
Если вы прочитали статью до конца напишите в комментарии пригодился бы вам инструмент для массовой проверки редиректов. Заранее спасибо!)
Работаем на Битрикc и у нас всё будет хорошо. А пока подписывайтесь на мой ВК и Instagramm (ссылки в подвале), пользуйтесь моим сервисом строки, ищите вхождения ключевых фраз. Поддержите проект, зарегистрируйтесь по реферальной ссылке на хостинге beget, он действительно классный, о нём вы можете прочитать в этом отзыве.