我想多次使用用户在谷歌中使用的搜索短语来访问我的网站。
有什么程序化的方法可以做到这一点吗?
谢谢,奥兰
您可以使用以下代码:
$referrer = $_SERVER['HTTP_REFERER'];
if (!empty($referrer)) {
$parts_url = parse_url($referrer);
$query = isset($parts_url['query']) ? $parts_url['query'] : '');
if($query) {
parse_str($query, $parts_query);
$ref_keywords = isset($parts_query['q']) ? $parts_query['q'] : (isset($parts_query['query']) ? $parts_query['query'] : '' ));
}
}
然而,请注意,谷歌现在已经停止在其推荐人中为所有登录用户发送查询字符串。因此,您的功能将只适用于从谷歌注销的用户。以下是有关此的更多信息http://googleblog.blogspot.com/2011/10/making-search-more-secure.html
使用HTTP_REFERER
服务器变量。
$referer= $_SERVER['HTTP_REFERER'];
//find the search query from google that brought them here
$qref= strpos($referer,’google’);
if($qref!=”){
$qstart = strpos($referer,’q=’);
$qend = strpos($referer,’&’,$qstart);
$qtext= substr($referer,$qstart+2,$qend-$qstart-2);
$qtext= str_replace(‘+’,’ ‘,$qtext);
}
echo $qtext
从这里拍摄。
我认为它应该在referrer中,因为他们通过q参数将搜索字符串附加到url中。
您可以从请求中的"HTTP_referer"获取它。($_SERVER['HTTP_REFERER'];)
另请参阅关于主题的另一个问题