提前感谢。。,我想获取(知道)搜索关键字URL示例:假设在谷歌或bing等。。我们正在搜索关键字。,它显示结果,我的url在第一位。,如果用户点击了url。,它会出现在我的网站上。所以基本上我想要搜索(谷歌)URL
请帮助我们
您想要的是引用url,您可以使用$_SERVER['HTTP_REFERER']
获得该url并解析该术语。
<?php
$url = $_SERVER['HTTP_REFERER'];
/* break the url down into its components */
$params = parse_url($url);
/* make sure its actually filled with something useful */
if (array_key_exists("host", $params))
{
/* parse the query params for easy keyword retrieval */
parse_str($params["query"], $query);
/* by search engine */
switch ($params["host"])
{
case "www.google.com":
echo "Google Search Term: " . $query["q"];
break;
case "www.bing.com":
echo "Bing Search Term: " . $query["q"];
break;
case "search.yahoo.com":
echo "Yahoo Search Term: " . $query["p"];
break;
/* more search engines here .... */
}
}
?>
需要注意的是,http_referer并不是100%可靠的,因为客户端(浏览器)实际上并不需要在请求中提供它。此外,来自安全URL(例如加密的.google.com)的URL也不会提供它。
您可以检查Referer
标头。如果你有一个来自谷歌搜索查询的链接,它会看起来像这样:
http://www.google.es/search?client=safari&rls=en&q=query&ie=UTF-8&oe=UTF-8&redir_esc=&ei=ppvfTfy8F4axhAfX2unDCg
q参数将告诉您搜索项。
Bing有一个非常相似的URL格式。。。查询参数甚至命名相同!
http://www.bing.com/search?q=query&go=&form=QBLH&filt=all&qs=n&sk=&sc=7-5
您必须检查$_SERVER['HTTP_REFERER']
,但要知道它可能是空的(例如,剥离代理、Google SSL搜索等)。
检查$_SERVER['HTTP_REFERER']
会显示用户来自搜索引擎结果页面的URL,你必须对其进行解析才能提取关键词,如何提取取决于搜索引擎。
您可以使用HTTP_REFERER
:
<?php
echo $_SERVER['HTTP_REFERER'];
?>
但是,由于代理、SSL或其他问题,这可能是空的。