我正在使用全新的 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/