先谢谢.., 我想获取(知道)搜索关键字URL 例: 假设在google或bing等...我们正在搜索关键字。, 它显示结果,我的网址在第一位。, 如果用户点击了网址,它将会进入我的网站。所以基本上我想要搜索(谷歌搜索)URL
请帮助我们
答案 0 :(得分:3)
你想要的是你可以使用$_SERVER['HTTP_REFERER']
获得的推荐人网址并解析该术语。
<?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(例如encrypted.google.com)的URL也不会提供它。
答案 1 :(得分:1)
您可以查看Referer
标题。如果您有来自Google搜索查询的链接,它将如下所示:
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
答案 2 :(得分:1)
您必须检查$_SERVER['HTTP_REFERER']
,但请注意它可能为空(例如代理剥离,Google SSL搜索等)。
检查$_SERVER['HTTP_REFERER']
将显示用户来自搜索引擎结果页面的网址,您必须解析它以提取关键字,如何操作取决于搜索引擎。
答案 3 :(得分:1)
您可以使用HTTP_REFERER
:
<?php
echo $_SERVER['HTTP_REFERER'];
?>
但由于代理,SSL或其他问题,这可能是空的。