2009-08-12 24 views
2

検索エンジンから来た場合、ユーザーに「関連検索」機能を提供することでサイトの使いやすさを向上させたいと考えています。サーブレットから検索エンジンのクエリ文字列を取得する

サーブレットから、自分のサイトの訪問者が検索エンジンの結果ページから来ている可能性がありますか?

「はい」の場合は、クエリ文字列を取得できますか?事前に

おかげ

EDIT:おかげThillo、this is my first approach using Referer header。私はそれほど誇りではない。このコードに関するすべてのコメントと提案は高く評価されます。

答えて

5

これは、(特有のスペルの)Referer-Headerです。

request.getHeader("Referer"); 

あなたはそれを解析し、それが検索エンジンのURLかどうかを判断する必要があります。すべての検索エンジンでは、クエリを指定する方法が異なります(例:http://www.google.com/search?q=test)。

+0

ありがとう、このコードを見てくださいhttp://pastebin.com/f1fcaad0b – sourcerebels

+0

そのコードは正常に見えます。私はそれを行うための根本的に異なるより良い方法があるとは思わない。ホスト名が一致する場合は、 "。" (たとえあなたがそれらに合っていれば大きな問題ではないが、それらのホスト名は実際にはありそうもない) "notyahoo.com"とのマッチングを避けるために、パターン内で、または後置マッチ(google.com、bing.com) 。 – Thilo

関連する問題