【问题标题】:Can I use PHP HTTP_REFERER to display a special message?我可以使用 PHP HTTP_REFERER 来显示特殊消息吗?
【发布时间】:2011-05-11 19:06:20
【问题描述】:

我有两个相似的域,

mysite1.com 和 mysite2.com

我只有一个托管帐户,并且我将另一个站点(通过 GoDaddy)转发到一个托管帐户。

我想向从 mysite2.com url 访问该站点的用户显示一条消息。

我在想我可以使用 PHP HTTP_REFERER 来做到这一点。

有没有办法做到这一点?

【问题讨论】:

  • stackoverflow.com/questions/4909443/… 可能有您要找的答案。不是骗子,而是接近。
  • 您可以更改重定向以在 url 中包含一个特殊标志吗? HTTP_REFERRER 是浏览器发送的可选标头,因此它不会那么可靠。
  • 你已经尝试了什么?如果你是一名程序员并且可以阅读the documentation,我相信你可以有所作为。

标签: php http-referer


【解决方案1】:
if(preg_match('@mysite2\.com@i', $_SERVER['HTTP_REFERER'])) {
  print 'Special message!';
}

【讨论】:

  • $_SERVER['HTTP_HOST'] 不是更适合用来确定访问者当前所在域的变量吗?
  • @Dutchie432:我认为这是由 GoDaddy 托管的单个 HTML 页面,它重定向到实际站点,因此 $_SERVER['HTTP_HOST'] 没有区别。我见过其他主机也在做同样的事情,GoDaddy 可能也会做同样的事情。但除此之外,你是对的。
  • 不是单页。它是域转发,它将进入 mysite2.com 的用户带到 mysite1.com。你的脚本没有帮助我:(
【解决方案2】:

实际上,HTTP_REFERER 会告诉您用户上一个当前页面的位置。我认为您希望改用$_SERVER['HTTP_HOST']。这将始终产生用户当前所在的域...mysite1.commysite2.com

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2020-09-13
    • 2020-11-01
    相关资源
    最近更新 更多