PHP从某些引用域重定向


php redirect from certain referral domain

在stackereurope.com上有欧洲的联系方式。

现在英国有一个新的域名叫做stackereurope-uk.com。

它应该显示相同的网站,只是不同的联系方式。

我正在考虑这个解决方案:在UK域名上,我放了一个iframe来打开原来的网站。

在原来的网站上我把(在联系页面上)如果引用是stackereurope-uk.com重定向到stackereurope-uk.com/contact/

重定向的代码应该是这样的?

<?php
$domain = $_SERVER["HTTP_HOST"];
if (($domain == "stackeurope.com" ||
    $domain == "stackereurope-uk.com") && !$_GET['redirected'])  { 
    header("location: http://stackereurope-uk.com/contact/index.php"); 
}
?>

我试过这段代码,但是不工作。

完成我想做的事情最简单的方法是什么?

尝试用$_SERVER['SERVER_NAME']代替。如果我没记错的话,如果服务器运行在80以外的端口上(这可能在开发/内部网机器上很常见),那么HTTP_HOST包含端口,而SERVER_NAME不包含端口。

如果您正在寻找基于引用域的重定向,您可能想尝试在HTTP_REFERER上使用parse_url,然后使用主机返回值。

例如:

$uri = parse_url($_SERVER['HTTP_REFERER']);
echo $uri['host'];