我正在尝试根据引荐网址将访问者重定向到某个网站。
这是脚本:
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'); };
错误:我收到“警告:无法修改标头”错误,因为我在发送标头之前回显$ referrer。
如果删除回显,则脚本不起作用。
有什么建议吗?
答案 0 :(得分:0)
PHP正在echo $referrer
向请求该页面的用户发送标题。您正在调用标头功能,尝试修改这些标头并附加位置重定向,但不能将标头与页面内容的开头一起发送。
要解决此问题,请查看PHP的Output Control函数,尤其是ob_start();
,它们会在您脚本顶部插入,以允许您继续回显重定向位置并允许您重定向同时。
答案 1 :(得分:0)
正如笔记:任何输出都会自动生成标题。如果你想用标题重定向,你只需要注释echo $referrer;
如果你需要查看哪个引用者去哪个站点进行调试,只需将它放在URL中,接收页面就应该忽略它。