我要做的是使用PHP从网站A重定向到网站B(两者都是不同的域),但我希望HTTP标头中的引荐来源设置为网站A(页面执行重定向)。因此,也就是说,网站B将网站A视为推荐人。
答案 0 :(得分:3)
您可以在网站A上使用<meta http-equiv="refresh" content="1;url=http://siteb.net">
之类的内容。
答案 1 :(得分:1)
我很确定发送引荐来源最终取决于网络浏览器,而不是PHP。
您可以通过$_GET
发送地址。
编辑:您将无法更改引荐来源(误读帖子,derp)。
答案 2 :(得分:0)
我已经使用localhost和虚拟脚本进行了检查。即使在重定向时,浏览器也会在HTTP中发送引用。
为了测试这个,我创建了一个名为testRefererRedirect.php
的脚本:
<?php
if($_GET['a']){
if($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != 'off'){
echo $_SERVER['HTTP_REFERER'];
}else{
header('Location: https://localhost/testrefererredirect.php?a=1');
}
}else{
echo '<a href="testrefererredirect.php?a=1">test</a>';
}
为了模拟跨域,我使用HTTP和HTTPS作为本地服务器。
首次加载时,页面将显示一个链接:我将单击此链接以允许浏览器在标题中发送引用。接下来,因为我最初在HTTP中加载页面,所以将调用头函数。最后,第二步的HTTP referer标题出现在第3步。
如果您在网站A上进行重定向,您可以安全地使用网站B上的$_SERVER['HTTP_REFERER']
来捕获针对网站A的参考信息。