1

私は、訪問者が Google から紹介されたときに完全な記事を表示し、直接訪問した場合にのみプレビューを表示する、ニューヨーク タイムズや他のニュースサイトと同様のことを達成しようとしています。

訪問者が Google から来ているかどうかを確認するには、以下を確認する必要があると思いますrequest.env["HTTP_REFERER"]

これは正しいです?「google」という名前が一致するだけですか?コントローラーのロジックは次のようなものですか。

if request.env["HTTP_REFERER"].match "google"
  # do action/set variable etc.
4

1 に答える 1

2

ええ、あなたはそのすべてについてほとんど正しいです。ユーザーがGoogleから来ているかどうかを正規表現で確認し、他のサイトを表示します。コード例:

if request.env["HTTP_REFERER"] =~ /google\.[a-z]{2,4}/
  # do the special google stuff here
  render layout: "special_google_layout"
else
  # do the regular stuff here
end

この正規表現は、文字列「google」の後にドットと 2 ~ 4 個の小文字が続くリファラーをチェックします。

于 2012-04-07T01:27:38.050 に答える