2010-06-12 110 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中,接收頁面應該忽略它。