使用 `header("Location: ...)`

Using `header("Location: ...)`

我在我的配置文件中使用了一个 location() 函数调用,但它一直将我重定向到我在调用它时要转到的页面,

我正在这样做:

if (!isset($_SESSION['user_login_name']) || !isset($_SESSION['user_logged_in']))
{
    header("Location: /login/");
    exit();
}

最好的方法是什么才能让服务器知道它在登录页面上,而不是无限地重定向回这个页面?

我认为最好的方法是 $_SERVER 检查当前脚本是否在 /login/ 目录中,如下所示:

if (!isset($_SESSION['user_login_name']) || !isset($_SESSION['user_logged_in']))
{
    if ($_SERVER['SCRIPT_NAME'] !== '/login/index.php')
    {
        header("Location: /login/");
        exit();
    }
}