2012-04-07 17 views
1

我試圖完成類似於紐約時報和其他新聞的其他新聞,當訪問者被Google引用時顯示完整文章,但只有在直接訪問時才顯示預覽。如果訪問者來自Google搜索,則顯示不同視圖

我相信要檢查訪問者是否來自谷歌我需要檢查:request.env["HTTP_REFERER"]

這是正確的嗎?它只是名稱'google'上的匹配嗎?在控制器中是這樣的邏輯:

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

回答

2

是啊,你幾乎是正確的一切。只需通過正則表達式,如果用戶來自谷歌 - 並顯示其他網站。示例代碼:

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 

此正則表達式檢查引薦用於後面跟着一個點和2箇中的字符串「谷歌」 - 4小字母。

相關問題