Задать вопрос
@33balabol

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

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

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

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


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

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

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

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