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

标签 php http-referer

我正在使用全新的 URL(品牌 reshape )启动一个新网站。当用户转到旧 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 的 URL,使其美观,并且只有当用户来自 Google 时才会回显它。我想使用旧站点的 URL 来执行此操作,但它似乎不起作用。我正在 cpanel 中使用永久 301 重定向设置重定向。 HTTP_REFERER 可以使用这些重定向吗?实际上,当来自重定向站点时,$referral 变量中没有存储任何内容。

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

最佳答案

我认为使用 301 重定向可能存在一些问题 - 我推荐的是简单地从您的旧网站重定向到一个特殊的 URL - 这使得它变得非常简单和干净。

所以代替:

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

你可以这样做:

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

关于php - 如果用户来自重定向站点,则使用 PHP 回显消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14586431/

相关文章:

php - 通过包含上次访问 URL 的电子邮件报告错误 404

php - 使用 cookie 限制访问

php - 如何使用一个用户名多个提交按钮?

php - utf8_encode 函数用途

php - 在 PHP 中使用 HybridAuth 时如何更新用户状态?

php - 如何清除Wordpress中的评论表单

javascript - Safari 不发送 `referer` header

php - 编辑文本元素时重置后端用户设置

iphone - 我可以从 native iPhone 应用程序使用 Google AJAX Feed API REST 接口(interface)吗?

PHP:如何检测外部访问者的直接请求?