我的页面上有一个PHP标头重定向,它可能无法按预期工作。我>> 有(1) 一个带推荐系统的比特币龙头,我有一个接收大部分流量的reflink,但地址是no更长的有效期限,因此我想将所有访问者从该重新链接重定向到新的访问者。
我在最顶层的index.php中使用它:
<?php
if ($_SERVER['REQUEST_URI'] === '/?r=oldReferral')
{
header("Location: http://example.com/?r=newReferral");
die();
}
?>
<!DOCTYPE html>
<!-- etc -->
这会重定向到新的引荐URI,但旧地址仍会获得所有引荐付款。
重定向位于最顶端且die();
之后应该阻止该页面上的任何其他脚本执行并直接进入脚本将执行的新页面,对吧?但由于旧地址仍然有效,我认为有些脚本仍然可以在重定向发生之前执行。
为什么在重定向到新网址后,它会将旧网址保留在内存中(或任何地方)?
为什么新URI上的支付脚本使用旧URI中的参数,甚至不应该保存/缓存。这个重定向方法是否有可能在离开页面之前允许某些代码执行?
是否有一些确定的重定向方式可以保证旧网址/ URI中的任何内容都不会以某种方式找到新的方式?
我想到的一件事......我一直在使用的水龙头脚本最有可能使用$_SESSION
来存储它需要存储的任何内容。是否有可能旧的ref URI被保存在会话(或其他一些网络存储系统)中,并且因为重定向发生在任何其他脚本之前(否则可能就是说可能会清除会话),旧的值只是被携带 - 转到新的URI?
(1)从技术上讲,我仍然拥有该网站,但多年没有触及它,所以如果您希望我提供更多详细信息或代码示例,请记住这一点。 < / p>