1

我正在尝试根据访问者的引用 URL 将访问者重定向到一个站点。

这是脚本:

php
$domain='blankds.com';
$referrer=$_SERVER['HTTP_REFERER'];
回声 $referrer;
if (preg_match("/$domain/",$referrer)) {
 header('位置:http://www.blackisgreen.org/page_1.php');
 } 别的 {
 header('位置:http://www.blackisgreen.org/page_2.php');
};

错误:我收到“警告:无法修改标头”错误,因为我在发送标头之前回显了 $referrer。

如果我删除回声,脚本将不起作用。

有什么建议么?

4

2 回答 2

0

就像一个注释:任何输出都会自动生成标题。如果您想使用标头重定向,您只需要注释掉echo $referrer;如果您需要查看哪个引荐来源网址到哪个站点进行调试,只需将其放在 URL 中,接收页面应该忽略它。

于 2010-06-12T14:12:30.693 回答
0

当您echo $referrer. 然后,您调用的标头函数会尝试修改这些标头并附加位置重定向,但不能因为标头已与页面内容的开头一起发送。

要解决此问题,请查看 PHP 的输出控制函数,尤其是ob_start();插入到脚本顶部的函数应该允许您继续回显重定向位置并允许您同时重定向。

于 2010-06-12T14:04:06.693 回答