заголовок ( «Location: /»); перенаправление работает на localhost, но не на удаленном сервере

if (condition) { #lol. Some code here } else { header("Location:/");//i'm trying to redirect to the root } 

Перенаправление работает отлично на локальном хосте, но не на удаленном сервере. Может быть, лучше использовать $_SERVER ? Это перенаправление не будет работать, даже если я выберу файл в том же каталоге, что и файл с перенаправлением. Надеюсь, ты мне поможешь 🙂

Из руководства :

HTTP / 1.1 требует абсолютного URI в качестве аргумента для «Location»: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI. Обычно вы можете использовать $_SERVER['HTTP_HOST'] , $_SERVER['PHP_SELF'] и dirname() чтобы сделать абсолютный URI от относительного:

 <?php /* Redirect to a different page in the current directory that was requested */ $host = $_SERVER['HTTP_HOST']; $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); $extra = 'mypage.php'; header("Location: http://$host$uri/$extra"); exit; ?>