我有一個建立在Sinatra/Padrino上的網絡應用程序,它已經啓動並正在運行,但我想對它做一些小改動以協助我們進行營銷。如果Sinatra路線來自我的網絡應用程序,就算出來
目前,當用戶輸入瀏覽器地址欄www.mygreatapp.com
時,它們被帶到應用程序主頁面,這可能會讓新用戶或潛在客戶感到困惑。理想情況下,我們希望這樣,當他們從另一個網站或谷歌搜索到我們的主頁或手動輸入網址時,它們會顯示一個單獨的登錄頁面,這些網站會詳細解釋網站,然後才能前往實際的主頁。
請記住,在Web應用程序中,有更深層頁面的鏈接會重定向回主頁,我們希望這些鏈接仍然會轉到實際主頁。
目前,該主頁的路由處理程序是這樣的:
get '/' do
render 'homepage'
end
我基本上是希望它能夠做的是:
get '/' do
if {{ This was called from within www.mygreatapp.com }}
render 'homepage'
else {{ This was called from externally or another site }}
render 'landingpage'
end
end
這可能嗎?這甚至是處理這種事情的最好方法嗎?也許還有另外一種方法可以完成這個,我錯過了?
嗯 - 有'request.referrer' - 但它似乎是空的,當我剛剛嘗試它 – froderik
謝謝,我一直在玩這個 - 它看起來像request.referrer設置爲'nil'當你手動鍵入URL,否則會填充調用頁面URL。我建立了一個'request.referrer.match('mysite.com')'來檢查頁面被調用的位置,並取得了一些成功。 – Devan
我也試過,但是當你瀏覽的網站是localhost時,它可能會中斷。我會牢記這一點。不會感到驚訝,如果我需要類似的東西... – froderik