Есть ли какая-то особая причина, по которой вы используете Javascript для перенаправления? Что делать, если на клиенте отключен JavaScript?
Лучший способ выполнить перенаправление - сделать это на стороне сервера следующим образом:
function redirect($location)
{
header('Location: ' . $location);
die();
}
Это отправит заголовок местоположения в браузер, таким образом, немедленно перенаправит его, сохраняя пропускную способность и возможность отключения Javascript на стороне клиента.
Обратите внимание, что, поскольку это заголовок, вам нужно будет либо вызвать этот метод, прежде чем выводить какие-либо данные (с echo
или другим способом), либо использовать буферизацию вывода , чтобы не пришлось сильно измените свое приложение.
Как описано в комментарии, чтобы охватить относительный URL, вы можете использовать константу, хранящую ваш веб-корень, которая будет работать следующим образом (заменить строку):
header('Location: ' . WEB_ROOT . $location);
Пример использования:
<?php
define('WEB_ROOT', '/');
function redirect($location)
{
header('Location: ' . WEB_ROOT . $location);
die();
}
redirect('Users/Registration.php');