2


1

Googleで「asp.netのテーブルの列を並べ替える」などの検索をして Wroxのフォーラムサイトのように、このサイトでは「asp.netの表の列を並べ替えるためのGoogleの検索でWroxフォーラムにアクセスしています…​」などのメッセージが表示されます。

Googleが入力したクエリをサイトはどのように認識しますか。 そして、どのように私は私のサイトにそのような機能を追加することができますか?

4 Answer


12


これはあなたのクエリを `HTTP_REFERER`サーバ変数の中のクエリパラメータから解析しています。そこにはあなたから来たURLが含まれていて、あなたのHTTPリクエストで提供されています。


8


それは "HTTPリファラー"として知られているヘッダを使います。 http://en.wikipedia.org/wiki/HTTP_referrerを参照してください。

あなたのサイトでそれを使うためには、ASP / ASP.NET、PHP、Perlのようなある種の動的ページ生成が必要です。 たとえばPerlでは、次のようなことができます。

if($ ENV {HTTP_REFERER} =〜/google.com \?)

警告:上記のコードは一例にすぎず、正しくない、または安全ではない可能性があります。


2


これらの人たちが示唆しているように、それは `HTTP_REFERER`ヘッダ変数です。 クエリはURLの "q"キーにあります。 あなたがそれを解析したいのであれば、あなただけのクエリ文字列を整理し、URL "q"変数をデコードすることができます。


1


参照元ヘッダーを調べます。 これを行うには、 基本的なPHPコードがいくつかあります。