Я думал, что вы не можете перенаправить, используя header('location:..
в php, если вы уже отправили какой-то вывод.Однако эта тестовая программа работает (не) ожидаемо с локальным сервером.
$ cat > index.php
Hello,
<?php
if ($_SERVER['REQUEST_URI'] !== "/") {
header('location: /');
die();
}
?>
World!
, а затем я запускаю локальный сервер php, как это
$ php -S localhost:8000
, а затем, когда я иду наhttp://localhost:8000/index.php?test=1
он перенаправляет меня на http://localhost:8000
.
Почему он не жалуется, что я уже отправил вывод?это что-то другое о PHP 7?Что-то другое в современных браузерах?Что-то другое в демо-сервере?Или мне нужно сделать что-то немного другое, чтобы получить ошибку, которую я получил в прошлый раз, когда использовал php?