根据引荐 URL 重定向访问者



如果访问者来自某个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')

看起来错误已澄清...

最新更新