2010年11月01日

Ruby on Rail 検索キーワード取得

検索キーワード取得とは?


通常googleなどで検索してから各HPへ遷移すると思いますが、
そのとき検索に使用したキーワードを各HPで取得するということです。

環境


rails1.2.6

取得方法


取得方法は至って簡単
request.env['HTTP_REFERER']

これで取得可能です。
urlなどよけいなものもついていますが、
d=の後ろがキーワードなので、そこだけ正規表現などで取り出してください。

日本語は文字化けしているようになっていますが、
エンコードされているだけです。
デコードしてあげましょう。
CGI.unescape(request.env['HTTP_REFERER'])

まだ化けてる時がありません。その時は文字コードを修正します。
CGI.unescape(request.env['HTTP_REFERER']).kconv(Kconv::UTF8,Kconv::SJIS)

上記は、SJISからUTF8へ変換しています。

注意


検索からSSLへ遷移する場合ですが、
なんとdocomoは、HTTP_REFERERが取得できません。
昔なんかおこしたらしく、REFERERが削除されるようになったらしいです。
いやなんとも迷惑な話です。
違うページをはさんでredirectとかならできると思うのですが、
それはだめとかいわれそうですよね。。。
いぁまったく、どうしろというんですかねぇ。
posted by RicK at 16:09| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/41559921

この記事へのトラックバック