[英]Redirect visitor based on referral URL
我想将访问者重定向到我网站上的某个页面(如果它们来自某个URL),如果不是来自某个URL,则将其重定向。
<?
$referer = $_SERVER['HTTP_REFERER'];
if ( $referer != "http://URL1" ) {
header('Location: page1');
exit;
} else {
header('Location: page2');
}
?>
无论访问哪个引荐来源,我都转到第1页,而从不访问第2页。我在index.php文件中使用了此代码,因此它也是访客指向的第一页。
更新:好的,因此从讨论中看来,您的代码无法正常工作的原因是您正在使用“ now-www” URL检查引荐字符串,而实际的引荐字符串在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;
首先,将其更改为
if ( $referer != "http://URL1" || $referer != "http://URL2" )
其次,page1和page2可能会给出错误,因为它们无效。 包括路径和扩展名。 例如:
header('Location: http://www.yourlocation/page1.php')
看来错误已得到澄清...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.