如果访问者来自某个URL,我想将访问者重定向到我网站上的一个页面,如果他们没有,则重定向到另一个页面。
<?
$referer = $_SERVER['HTTP_REFERER'];
if ( $referer != "http://URL1" ) {
header('Location: page1');
exit;
} else {
header('Location: page2');
}
?>
无论我来到页面上的哪个引用者,都会转到第 1 页,而不是第 2 页。我在索引.php文件中使用了这段代码,所以它也是访问者被定向的第一页。
更新:好的,所以从讨论来看,您的代码不起作用的原因是您使用"now-www"网址检查引用字符串,而实际的引用字符串在网址中有"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')
看起来错误已澄清...