Здравствуйте! Столкнулся с такой вот проблемой — при переносе на хостинг у меня перестал срабатывать LocalRedirect. На локальной же машине все работает как часы. Возможно кто то сталкивался, |
|
Что значит «перестал срабатывать»? В чем это выражается? |
|
По логике скрипта после обработки Post данных делается Get редирект. На локальной машине все впорядке, а на хостинге просто ничего не происходит футер при этом не выводится, выглядит так как будто выполняется exit |
|
Антон Долганин Администратор Сообщений: 8512 |
#4 0 21.06.2009 23:28:36
А Post-данные добавляются нормально? Дело в том, что после LocalRedirecta страница прекращает исполнение. Сложно судить на словах. Может быть проблема в обработке, может ошибка интегратора. Лучше вам обратиться в техподдержку и, чтобы не терять времени, сразу с административными доступами. |
||
Пользователь 1649 Гуру Сообщений: 398 |
#5 2 22.06.2009 08:44:39 мне в свое время помогло добавление в init.php
|
||
Проявление некорректной работы LocalRediret() может быть только одно — перемещает на «левую» страницу или теряет параметры. Если не идёт переадресации, то ошибка возникает до LocalRediret(). Можем помочь в рамках тех. поддержки: http://dev.1c-bitrix.ru/support/ticket.php?show_wizard=Y но Вы должны подробно указать как смоделировать проблему. |
|
Провел тестирование конфигурации: |
|
UP!!!!!!!!! работал сайт. на неделю переключился на другой проект. вернулся обратно, localredirect не работает. тут решение так и не указано. |
|
Такая же проблема, в чём дело непонятно :/ |
|
Пользователь 41019 Заглянувший Сообщений: 30 |
#10 0 27.08.2012 05:04:23 А я с хостинга не уходил, обновился и редирект исчеззззз |
Настройка SSL в Bitrix
Вообще в административной части сайта на 1C-Bitrix есть подробная шпаргалка как правильно настроить переезд на https версию сайта. Там вкратце описано как настроить сам хостинг и сайт для корректной работы. Находится эта шпаргалка по этому адресу:
имя_сайта/bitrix/admin/promo_https.php?lang=ru
Но там почему-то забыли написать про один нюанс. После настройки SSL сертификата и включения 301 редиректа на https версию сайта в админке Битрикс вылезет ошибка:
Внутреннее перенаправление (функция LocalRedirect) Ошибка! Не работает.
Не работает внутреннее перенаправление?
Это легко можно исправить. Вся проблема решается прописыванием в /bitrix/php_interface/dbconn.php:
$_SERVER["SERVER_PORT"] = "443";
Эту строчку нужно добавить в начало или конец файла.
Вообще странно что они не вписали этот момент в свою шпаргалку, хотя в их же подробной документации этот момент описан.
Bitrix. SSL(https), nginx — не работает внутреннее перенаправление.
Ошибка появилась после включения в nginx перенаправления на https.
До неё поставил SSL сертификат. Проверил сайт — работает и по https и по http. Всё хорошо. Проверки системы проходит.
Включаем перенаправление в nginx. И получаем ошибку: «Внутреннее перенаправление (функция LocalRedirect)»
Ошибка явно из-за того, что не везде в битриксе стоит динамический протокол(так бы выбрался бы сразу https). Он явно теперь «стучится» по http, а nginx его редиректит, чего не ожидает Битрикс. Вот вам и ошибка.
Решение «влоб» — в файле dbconn.php прописываем строку:
$_SERVER["SERVER_PORT"] = "443";
Однако надо помнить и понимать, что это приводит к несостыковкам с http(порт там 80). Но в моём случае остаётся один https.
Заметили ошибку, можете подсказать еще что-то? — Обращаемся сюда
После настройки SSL сертификата и включение перенаправления на https тестирование Битрикс выдает ошибку Внутреннее перенаправление (функция LocalRedirect) Ошибка! Не работает. Это можно устранить?
Похожие вопросы
Ошибка при обновлении 1С-Битрикс (php 7 на MySQL Query Error?
С чем может быть связана следующая ошибка, и каким образом она решается. Текст ошибки, появляется на странице обновления CMS, а также модулей (при попытке загрузки и установки обновления).MySQL Query Error: delete o1 FROM b_user_access_check o1, b_user_access_check…
Alex
15 дек в 2022
466
1C Bitrix и REST API
Всем привет. Нужна некоторая консультация от разработчиков битрикса) Собираемся делать нативное приложение и нужно сделать так чтобы заказы из приложения и сайта были в одном месте. Может ли битрикс выступать в роли бэка в этом плане? Обмен будет через…
Здравствуйте! Возникла проблема в работе с сайтом
сайт на битриксе.
почему в директории upload папки sale, tmp и uf доступны для редактирования только под рутовым доступом?
Настройка SSL в Bitrix
Вообще в административной части сайта на 1C-Bitrix есть подробная шпаргалка как правильно настроить переезд на https версию сайта. Там вкратце описано как настроить сам хостинг и сайт для корректной работы. Находится эта шпаргалка по этому адресу:
имя_сайта/bitrix/admin/promo_https.php?lang=ru
Но там почему-то забыли написать про один нюанс. После настройки SSL сертификата и включения 301 редиректа на https версию сайта в админке Битрикс вылезет ошибка:
Внутреннее перенаправление (функция LocalRedirect) Ошибка! Не работает.
Не работает внутреннее перенаправление?
Это легко можно исправить. Вся проблема решается прописыванием в /bitrix/php_interface/dbconn.php:
$_SERVER["SERVER_PORT"] = "443";
Эту строчку нужно добавить в начало или конец файла.
Вообще странно что они не вписали этот момент в свою шпаргалку, хотя в их же подробной документации этот момент описан.
Здравствуйте! Столкнулся с такой вот проблемой — при переносе на хостинг у меня перестал срабатывать LocalRedirect. На локальной же машине все работает как часы. Возможно кто то сталкивался, |
|
Что значит «перестал срабатывать»? В чем это выражается? |
|
По логике скрипта после обработки Post данных делается Get редирект. На локальной машине все впорядке, а на хостинге просто ничего не происходит футер при этом не выводится, выглядит так как будто выполняется exit |
|
Антон Долганин
Администратор Сообщений: 8512 |
#4 0 21.06.2009 23:28:36
А Post-данные добавляются нормально? Дело в том, что после LocalRedirecta страница прекращает исполнение. Сложно судить на словах. Может быть проблема в обработке, может ошибка интегратора. Лучше вам обратиться в техподдержку и, чтобы не терять времени, сразу с административными доступами. Поиск по исходникам Битрикс |
||
Пользователь 1649 Гуру Сообщений: 398 |
#5 2 22.06.2009 08:44:39 мне в свое время помогло добавление в init.php
|
||
Проявление некорректной работы LocalRediret() может быть только одно — перемещает на «левую» страницу или теряет параметры. Если не идёт переадресации, то ошибка возникает до LocalRediret(). Можем помочь в рамках тех. поддержки: http://dev.1c-bitrix.ru/support/ticket.php?show_wizard=Y но Вы должны подробно указать как смоделировать проблему. |
|
Провел тестирование конфигурации: |
|
UP!!!!!!!!! работал сайт. на неделю переключился на другой проект. вернулся обратно, localredirect не работает. тут решение так и не указано. |
|
Такая же проблема, в чём дело непонятно :/ |
|
Пользователь 41019 Заглянувший Сообщений: 30 |
#10 0 27.08.2012 05:04:23 А я с хостинга не уходил, обновился и редирект исчеззззз |
Bitrix. SSL(https), nginx — не работает внутреннее перенаправление.
Ошибка появилась после включения в nginx перенаправления на https.
До неё поставил SSL сертификат. Проверил сайт — работает и по https и по http. Всё хорошо. Проверки системы проходит.
Включаем перенаправление в nginx. И получаем ошибку: «Внутреннее перенаправление (функция LocalRedirect)»
Ошибка явно из-за того, что не везде в битриксе стоит динамический протокол(так бы выбрался бы сразу https). Он явно теперь «стучится» по http, а nginx его редиректит, чего не ожидает Битрикс. Вот вам и ошибка.
Решение «влоб» — в файле dbconn.php прописываем строку:
$_SERVER["SERVER_PORT"] = "443";
Однако надо помнить и понимать, что это приводит к несостыковкам с http(порт там 80). Но в моём случае остаётся один https.
Заметили ошибку, можете подсказать еще что-то? — Обращаемся сюда
-
By irekunenko
- 7 августа, 2020
-
Обо всем
Столкнулся с ошибкой, которая видна при проверке параметров сервера.
Выглядит так: Внутреннее перенаправление (функция LocalRedirect) — Ошибка! Не работает.
Решается просто:
Идем в файл dbconn.php
Если ничего не менялось, то путь такой:
mcedit /home/bitrix/www/bitrix/php_interface/dbconn.php
И там, в начало файла, после
< ?
дописываем:
$_SERVER[«SERVER_PORT»] = «443»;
Профит.
function LocalRedirect($url, $skip_security_check=false, $status=«302 Found»)
{
/** @global CMain $APPLICATION */
global $APPLICATION;
/** @global CDatabase $DB */
global $DB;
if(defined(«DEMO») && DEMO==«Y» && (!defined(«SITEEXPIREDATE») || !defined(«OLDSITEEXPIREDATE») || strlen(SITEEXPIREDATE) <= 0 || SITEEXPIREDATE != OLDSITEEXPIREDATE))
die(GetMessage(«TOOLS_TRIAL_EXP»));
$bExternal = preg_match(«‘^(http://|https://|ftp://)’i», $url);
if(!$bExternal && strpos($url, «/») !== 0)
{
$url = $APPLICATION->GetCurDir().$url;
}
//doubtful
$url = str_replace(«&», «&», $url);
// http response splitting defence
$url = str_replace(array(«\r», «\n»), «», $url);
if(!defined(«BX_UTF») && defined(«LANG_CHARSET»))
{
$url = \Bitrix\Main\Text\Encoding::convertEncoding($url, LANG_CHARSET, «UTF-8»);
}
if(function_exists(«getmoduleevents»))
{
foreach(GetModuleEvents(«main», «OnBeforeLocalRedirect», true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array(&$url, $skip_security_check, &$bExternal));
}
}
if(!$bExternal)
{
//store cookies for next hit (see CMain::GetSpreadCookieHTML())
$APPLICATION->StoreCookies();
$host = $_SERVER[‘HTTP_HOST’];
if($_SERVER[‘SERVER_PORT’] <> 80 && $_SERVER[‘SERVER_PORT’] <> 443 && $_SERVER[‘SERVER_PORT’] > 0 && strpos($_SERVER[‘HTTP_HOST’], «:») === false)
{
$host .= «:».$_SERVER[‘SERVER_PORT’];
}
$protocol = (CMain::IsHTTPS() ? «https» : «http»);
$url = $protocol.«://».$host.$url;
}
CHTTP::SetStatus($status);
header(«Location: «.$url);
if(function_exists(«getmoduleevents»))
{
foreach(GetModuleEvents(«main», «OnLocalRedirect», true) as $arEvent)
ExecuteModuleEventEx($arEvent);
}
$_SESSION[«BX_REDIRECT_TIME»] = time();
\Bitrix\Main\Application::getInstance()->end();
}