@33balabol

Почему нет редиректа от header("Location: https://site.ru");?

Перенес сайт на хостинг и обнаружил, что перестало работать перенаправление на на другую страницу через следующую конструкцию:
<?php
if (isset($_SESSION['auth_user']) && $_SESSION['auth_user']  == 'yes') {
?>

..Код страницы

<?php
}else
{
  header("Location: https://site.ru");
}
?>


К слову при переходе на такую страницу открывается просто пустая страница. Редиректа не происходит.

https тут ни при чем?
  • Вопрос задан
  • 529 просмотров
Пригласить эксперта
Ответы на вопрос 3
@dmitryprogrammer
header это заголовок, они должны быть всегда перед любым выводом.
Ответ написан
alsopub
@alsopub
Посмотрите заголовки в "Инструментах разработчика", посмотрите логи веб-сервера или php-fpm. Чего гадать то.
Скорее всего есть вывод, возможно BOM символ, если у вас UTF-8. Или перевод строки.
Ответ написан
Комментировать
Akdmeh
@Akdmeh
PHP, Yii2, Music
Не должно быть никаких пробелов перед <?php и ни одного вывода echo до функции header, проверяйте это.
Но если совсем уж плохо и никак не можете найти, в самом первом файле, который подключается, введите ob_start(), это включит все записи echo во внутренний буфер.
Но это плохая практика, если трубы горят и сроки сдачи на позавчера. По-хорошему нужно найти, что же делает вывод в браузер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы