我想将访问者重定向到我网站上的一个页面,如果他们来自某个网址而另一个页面来自某个网页。
<?
$referer = $_SERVER['HTTP_REFERER'];
if ( $referer != "http://URL1" ) {
header('Location: page1');
exit;
} else {
header('Location: page2');
}
?>
无论我在网页上找到什么推荐人,都会转到第1页,而不会转到第2页。我在index.php文件中使用了此代码,因此它也是访问者指向的第一页。
答案 0 :(得分:1)
更新:好的,所以从讨论开始,您的代码无法正常工作的原因是您使用“now-www”网址检查引用字符串,而实际的referer字符串在url中有“www”。请确保使用完全引用字符串。否则,如果您根据引用者的hostname
进行重定向,则可以使用下面更新的答案。
<?php
$referer = str_replace("www.", "", parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST));
switch($referer) {
case "johnchow.com":
header("Location: page1");
break;
case "domain2.com":
header("Location: page2");
break;
default:
header("Location: page3");
}
exit;
答案 1 :(得分:0)
首先将其更改为
if ( $referer != "http://URL1" || $referer != "http://URL2" )
其次,page1和page2可能会出错,因为它们无效。包括路径和扩展名。例如:
header('Location: http://www.yourlocation/page1.php')
看起来错误已经澄清......