我想查看每位访问者的来源,并将这些信息存储在Cookie中。
这个想法是:当有人去谷歌搜索即维基百科并点击第一个结果时,这就是谷歌生成的
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&sqi=2&ved=0ahUKEwiB8aaX8eTSAhWCNJoKHbYqDFsQFggnMAE&url=https%3A%2F%2Fwww.wikipedia.org%2F&usg=AFQjCNFoqWBYY9IYRUE6eu9l7l73Wk5wYw&bvm=bv.149760088,d.bGs
我不知道在PHP中是否可以回应“Google.com”作为此重定向的来源。
答案 0 :(得分:3)
$_SERVER['HTTP_REFERER']
会为您提供引荐网页的网址。如果直接访问(来自书签或用户直接输入网址),您将无法获得任何内容。
在PHP中使用HTTP_REFERER
PHP中的HTTP REFERER存储在$ _SERVER超级全局中,可以从PHP代码中的任何位置引用,如下例所示,它只是将其写入浏览器:
echo $_SERVER['HTTP_REFERER'];
如果已设置HTTP_REFERER,则会显示它。如果不是那么你就不会看到任何东西。如果未设置,并且您将错误报告设置为显示通知,则会发现此类错误:
注意:未定义的索引:第3行的/path/to/filename.php中的HTTP_REFERER 为了防止在通知开启时出现此错误(我总是在通知的情况下开发),您可以这样做:
if(isset($_SERVER['HTTP_REFERER']))
{
echo $_SERVER['HTTP_REFERER'];
}
为了使域名成为引荐来源,您可以使用PHP的 parse_url()功能: 例如:
$url = '//www.example.com/path?name=shakti';
var_dump(parse_url($url));
您将获得输出:
array(3) {
["host"]=>
string(15) "www.example.com"
["path"]=>
string(5) "/path"
["query"]=>
string(17) "name=shakti"
}
答案 1 :(得分:0)
使用$ _SERVER [' HTTP_REFERER'],这将返回用户重定向的最后一个访问过的网址