2012-04-07 4 views
1

Ich versuche etwas Ähnliches wie die New York Times und andere Newsites zu erreichen, die vollständige Artikel anzeigen, wenn ein Besucher von Google weitergeleitet wird, aber nur die Vorschau zeigt, wenn es sich um einen direkten Besuch handelt.Andere Ansicht anzeigen, wenn Besucher von der Google-Suche stammen

Ich glaube, um zu überprüfen, ob ein Besucher von Google kommt, muss ich überprüfen: request.env["HTTP_REFERER"].

Ist das korrekt? Ist es nur eine Übereinstimmung auf den Namen "Google"? Ist die Logik so in der Steuerung:

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

Antwort

2

Ja, Sie sind ziemlich richtig über all das. Überprüfen Sie einfach über eine Regex, ob der Benutzer von Google kommt - und zeigen Sie die andere Seite an. Beispielcode:

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 

Diese Regex überprüft die Referer für die Zeichenfolge „google“, gefolgt von einem Punkt und 2 bis 4 kleine Buchstaben.

Verwandte Themen