Привет, ребята, я пытаюсь создать скрипт перенаправления в своем заголовке. Он содержит переменную $ redirect, которая равна 0 или 1.Если текущий URL равен rediectURL ничего не делать
Что я хочу сделать, это если переменная равна 1, чтобы перенаправить пользователя на указанную страницу. Это работает. Проблема, с которой я сталкиваюсь, - это когда он достигает перенаправленного URL-адреса, он создает цикл. Я попытался написать следующий код, но он не работает. Что я сделал не так?
<?php
$redirect = 1;
$host = $_SERVER['HTTP_HOST'];
$self = $_SERVER['PHP_SELF'];
$query = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : null;
$url = !empty($query) ? "http://$host$self?$query" : "http://$host$self";
$redirectURL = '/protest/cispa.php';
if ($redirect === 1) {
if ($url === $redirectURL) {
die();
}
else {
header("Location: $redirectURL");
exit;
}}
?>
Как было предложено andrewsi я обновил свой код на следующую это работает:
<?php
$redirect = 0;
$host = $_SERVER['HTTP_HOST'];
$self = $_SERVER['PHP_SELF'];
$query = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : null;
$url = $self;
$redirectURL = '/protest/cispa.php';
if ($redirect === 1) {
if ($url === $redirectURL) {
}
else {
header("Location: $redirectURL");
exit;
}
}
?>
Вы '$ Перенаправление = 1' в верхней части, то вы проверить' $ редиректа === 1', но никогда не дают возможность изменить его. Это то, что вы хотите сделать? У вас также есть 'if ($ url === $ redirectURL)', но вы устанавливаете '$ url' то, что' $ redirectURL' никогда не установлен. Это означает два куска мертвого кода. – Tigger
Я вручную изменяю его, редактируя код. – VampireNews