2010-06-12 91 views
1

我想根据引荐网址将访问者重定向到网站。基于引荐网址的重定向

下面是脚本:

 
php 
$domain='blankds.com'; 
$referrer=$_SERVER['HTTP_REFERER']; 
echo $referrer; 
if (preg_match("/$domain/",$referrer)) { 
header('Location: http://www.blackisgreen.org/page_1.php'); 
} else { 
header('Location: http://www.blackisgreen.org/page_2.php'); 
}; 

错误:我得到一个“警告:不能修改标题”因为我发送消息头之前呼应$引用错误。

如果我删除回显脚本不起作用。

有什么建议吗?

+0

它以何种方式无法按预期工作? – Gumbo 2010-06-12 13:57:03

回答

0

当你echo $referrer PHP正在向用户请求页面发送标题。 标题功能,然后调用尝试修改这些标题并添加位置重定向,但不能,因为标题已经与您的页面内容的开始一起发送。

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

0

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