Пользователь 19407 Заглянувший Сообщений: 6 |
Здравствуйте! Столкнулся с такой вот проблемой — при переносе на хостинг у меня перестал срабатывать LocalRedirect. На локальной же машине все работает как часы. Возможно кто то сталкивался, |
Администратор Сообщений: 8512 |
Что значит «перестал срабатывать»? В чем это выражается? |
Пользователь 19407 Заглянувший Сообщений: 6 |
По логике скрипта после обработки 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
|
||
Администратор Сообщений: 1433 |
Проявление некорректной работы LocalRediret() может быть только одно — перемещает на «левую» страницу или теряет параметры. Если не идёт переадресации, то ошибка возникает до LocalRediret(). Можем помочь в рамках тех. поддержки: http://dev.1c-bitrix.ru/support/ticket.php?show_wizard=Y но Вы должны подробно указать как смоделировать проблему. |
Пользователь 38873 Заглянувший Сообщений: 19 |
Провел тестирование конфигурации: |
Пользователь 68050 Постоянный посетитель Сообщений: 384 |
UP!!!!!!!!! работал сайт. на неделю переключился на другой проект. вернулся обратно, localredirect не работает. тут решение так и не указано. |
Пользователь 69012 Заглянувший Сообщений: 25 |
Такая же проблема, в чём дело непонятно :/ |
Пользователь 41019 Заглянувший Сообщений: 30 |
#10 0 27.08.2012 05:04:23 А я с хостинга не уходил, обновился и редирект исчеззззз |
Пользователь 99661 Заглянувший Сообщений: 8 |
#11 1 26.02.2015 23:11:40 Сталкивался с этой проблемой несколько раз при переносе на другой хостинг с тестового, а конкретно на TimeWeb. Причина во всех случаях оказывалась в том, что в init.php (или других стартовых файлах) были пустые строки либо вначале до открывающей <? либо вконце после ?> либо между ними, если такое случалось. Так же один раз каким-то образом в header.php тот что в папке /bitrix/ закралась новая строка до вставки пролога и был тот же эффект. Короче, если вам вдруг после каких-либо махинаций сайт выдает такую чепуху, будто die() поставили, значит где-то LocalRedirect срабатывает после вывода каких-либо визуальных данных (дада перенос строки — это тоже вывод). Если вдаваться подробнее, то это связанно с формирование заголовков и всякой такой лабудой, но это уже сами почитаете если интересно. |
Пользователь 173635 Заглянувший Сообщений: 1 |
#12 1 29.06.2016 14:21:13
при переводе с http:// -> на https:// возникла та же ошибка |
||||
Пользователь 523041 Заглянувший Сообщений: 9 |
#13 2 12.11.2016 17:24:00 Хостинг TimeWeb. После перехода на https, возникла проблема с редиректами. Решались приведенным выше примером, а именно:
|
||
Пользователь 2948 Посетитель Сообщений: 32 |
#14 6 08.05.2017 17:40:30 Коллеги, Вся проблема решается прописыванием в /bitrix/php_interface/dbconn.php: $_SERVER[«SERVER_PORT»] = «443»; Вычитал на сайте http://timeweb.com/ru/community/questions/bitriks-na-ssl-vnutrennee-perenapravlenie-funkciya-localre… Успехов |
Пользователь 399989 Заглянувший Сообщений: 1 |
#15 0 17.12.2017 11:17:46 Спасибо,вроде перестало выдавать ошибку) |
Пользователь 1870011 Заглянувший Сообщений: 1 |
#16 0 15.06.2019 14:42:58
Этот вариант работает! |
||
Пользователь 472195 Заглянувший Сообщений: 10 |
#17 0 12.08.2021 11:39:17 Мне помогло добавление в init.php строку $_SERVER[«HTTPS»] = «On»; |
Всем привет.
Сайт на битриксе переехал с apache2 на nginx+php5-fpm, + заодно прикрутили ssl сертификат и настроили в nginx перенаправление с http на https.
После переезда перестал работать LocalRedirect, было нагуглено добавить в dbconn.php -> $_SERVER[«SERVER_PORT»] = «443»;
однако проблему это не решило.
Может кто-то сталкивался с подобным?
-
Вопрос заданболее трёх лет назад
-
1552 просмотра
Переписал все LocalRedirect в коде на header. Работает!
Почему не работает LocalRedirect — не понятно.
Пригласить эксперта
Непонятно, что может там не работать. Обычное выплёвывание Location заголовка
Для корректной совместной работы редиректа http -> https на nginx и теста LocalRedirect в проверке системы Битрикса необходимо установить переменную окружения HTTPS=on в случае, когда запрос выполняется по https. Переменная будет продублирована в $_SERVER[‘HTTPS’], и Битрикс сможет определять текущий протокол корректно.
Для этого в .htaccess нужно добавить строку:
SetEnvIf X-Forwarded-Proto "^https$" HTTPS=on
-
Показать ещё
Загружается…
10 февр. 2023, в 10:35
50000 руб./за проект
10 февр. 2023, в 08:59
1000 руб./за проект
10 февр. 2023, в 08:22
2000 руб./за проект
Минуточку внимания
В Битрикс есть встроенная функция для создания редиректа (переадресации) на PHP — это функция LocalRedirect. У этой функции есть три параметра:
LocalRedirect($url, $skip_security_check = false, $status = "302 Found");
- Первый параметр $url (строка) — это относительный адрес страницы сайта, на который происходит перенаправление.
- Второй параметр может принимать значение «false» или «true» и позволяет пропустить проверку на вишинг от модуля безопасноти (если он есть в редакции системы и включен). Необязательный параметр
- Третий параметр $status (строка) — это ответ, который будет возвращать сервер при перенаправлении. Необязательный параметр
В третий параметр можно вписать любые статусы в зависимости от поставленной задачи, к примеру:
- 301 Moved permanently — запрошенный документ был окончательно перенесен на новый адрес
- 302 Moved Temporarily — запрошенный документ временно доступен по другому адресу
Функцию LocalRedirect можно использовать после подключения служебной части пролога. Продемонстрируем способ сделать переадресацию с текущего скрипта на раздел /news/
:
<?
// подключение служебной части пролога
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
LocalRedirect('/news/');
// подключение служебной части эпилога
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>
Если есть необходимость, то можно поставить функцию LocalRedirect после вывода хидера — она все равно сработает. Произойдёт перенаправление:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
LocalRedirect('/news/');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>
Была ли эта статья полезна?
Есть вопрос?
Закажите недорогой хостинг
Заказать
всего от 290 руб