如果用户来自重定向站点,则使用PHP回显消息

时间:2013-01-29 15:30:38

标签: php http-referer

我正在推出一个带有全新网址(品牌重塑)的新网站。当用户转到旧URL时,它们将被重定向到新URL。我想向这些用户显示一条消息,欢迎他们访问新网站。此消息仅对已被重定向的用户显示。

使用PHP的$_SERVER['HTTP_REFERER']我相信我能做到这一点,但我遇到了障碍。

如果用户来自Google,则以下代码效果很好:

<?php $referral = $_SERVER['HTTP_REFERER'];
      $referral = strtolower($referral);
      $referral = explode ("/", $referral);
      $referral = $referral[2];
        if ( $referral == 'www.google.com'){ ?>
            <div style="font-weight:bold; position:absolute; top:200px; left:50%; width:300px; margin-left:-200px; background:white; padding:50px; color:black; text-align:center; font-size:17px">
                You Came From: 
                <?php echo $referral; ?>
            </div>
<?php }; ?>

这基本上存储了HTTP_REFERER的网址,使其变得漂亮,并且只有当用户来自Google时,它们才会回复它。我想用旧网站的URL做这个,但它似乎没有工作。我正在使用cpanel中的永久301重定向设置重定向。 HTTP_REFERER会使用这些重定向吗?因此,当来自重定向站点时,$referral变量中不会存储任何内容。

我想使用与上面的代码相同的概念,但使用301重定向。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我认为使用301重定向可能存在一些问题 - 我建议只是从旧网站重定向到特殊网址 - 这使得它非常简单和干净。

所以而不是:

http://oldurl.tld -> http://newurl.tld

你可以这样做:

http://oldurl.tld -> http://newurl.tld/specialwelcome