PHP redirect с header () открывает перенаправленную страницу на первой странице - PullRequest
0 голосов
/ 14 сентября 2011

Я пишу страницу PHP, которая содержит выходные данные, а затем оператор if then, который приводит к:

ob_start();
header('Location: http://www.mydomain.com/');
ob_end_flush();

Нет ошибок, но страница, на которую он перенаправляет, открывается на главной странице. Вы можете увидеть верхнюю половину главной страницы, затем все содержимое страницы, на которую он перенаправляется, а затем нижнюю половину главной страницы. Все это появляется на одном экране. Это действительно вызывает хаос для моего сайта. Как я могу просто сделать так, чтобы просто перейти на новую страницу?

1 Ответ

1 голос
/ 14 сентября 2011

На самом деле нет никакого смысла выводить буфер и делать перенаправление внутри.

Я предлагаю сделать все проверки, которые вам нужны, чтобы убедиться, что вам нужно выводить контент или перенаправить, а затем сделать одну из них.

Вы также должны остановить выполнение скрипта после изменения местоположения заголовка. Что-то вроде:

if($needToRedirect){
      header('Location: http://www.mydomain.com/');
      exit();
}else{
      ob_end_flush();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...