0

我在 PHP 中有一个函数,如果用户没有登录,它会重定向到登录页面。它看起来类似于这样:

function requireLogin() {
    if (!isLoggedIn) {
        $loginUrl = "https://host.com/login.php?forward_url=/dir/page.php";
        header("location: $loginUrl");
        die();
    }
}

为简单起见,此函数在page.php位于 中的 PHP 脚本中调用dir

现在我的浏览器(Chrome、Firefox 和 IE)正在做的是将地址栏中可见的 URL 重新格式化为:

https://host.com/login.php?forward_url=https%3A%2F%2Fhost.com%2Fdir%2Fpage.php

好吧,我知道 URL 参数将被编码,但我不明白的是为什么浏览器要为参数添加前缀forward_url,即方案和主机。

顺便说一句,浏览器接收到的标头中的位置字段确实达到了正确的值。

4

0 回答 0