访问最后一页

时间:2012-07-04 22:05:26

标签: php url browser-history

我需要知道访问我网站的人是否来自另一个特定网站。 例如:

  • 用户A访问www.youtube.com/myvideo并点击指向我网站的链接。
  • 用户B访问Google,搜索我的网站并点击该链接。

我的页面上的结果消息:

  • 用户A:Welcome! You already know how it works, register now!
  • 用户B:Welcome! Please watch our video first at www.youtube.com/myvideo

我的问题是:

  1. 在进入我的页面之前,是否可以知道用户访问过的最后一个网址? 我已经用PHP尝试了$_SERVER['HTTP_REFERER'],但是它没有正常工作,我读到它并不适用于所有浏览器。
  2. 是否有任何语言或PHP脚本来获取此网址,正确使用所有浏览器?

3 个答案:

答案 0 :(得分:16)

HTTP referer标头是唯一的方法。这是通过$_SERVER['HTTP_REFERER']在PHP中提供给您的数据。

请注意,此标头在大多数情况下都有效。另请注意,它很容易被欺骗。

答案 1 :(得分:2)

为什么不在youtube上的链接中添加GET变量 - www.yoursite.com/?referrer=youtube

对于谨慎和外观,您可以将URL重写为类似www.yoursite.com/youtube

的内容

答案 2 :(得分:0)

<?php 
    if (strpos($_SERVER['HTTP_REFERER'],'youtube') !== false){
        echo 'Welcome! You already know how it works, <a href="/register">register now!</a>';
    } else {
        echo 'Welcome! Please watch our video first at <a href="www.youtube.com/myvideo">www.youtube.com/myvideo</a>';
}?>