2014-02-25 21 views
-1

我有一個Rails應用程序,它工作得很好。對於某些特定頁面,我希望在用戶請求該頁面時將其重定向到其他頁面,但我想要的是執行重定向outside Rails代碼,因此最後的設置必須在rails代碼本身之外。 可能有一個htaccess文件修改爲一個外部文件重定向到其他頁面,但我還沒有做到這一點與軌道。是否有可能在Rails應用程序之外設置重定向規則?

所以,問題是 - 這可能嗎?

+0

什麼是「在Rails代碼之外進行重定向」? –

+0

我不想在Rails代碼本身做任何改變來進行重定向。有沒有辦法在Rails代碼之外做到這一點?這就是我的意思 – Aleks

回答

1

您需要在請求Rails應用程序之前處理請求。例如,您可以在您使用的HTTP服務器(nginx,apache等)配置中創建重寫規則。

請參見以下鏈接:

如果您沒有訪問您的服務器配置(例如你在Heroku上),你可以使用refraction寶石( https://github.com/joshsusser/refraction)。它是一箇中間件,所以實際上你將這種重定向邏輯放入Rails中,但至少它不會觸及你的控制器。

+0

謝謝Michail。這是我需要的! :)正確的點:) – Aleks

+0

p.s.不錯的造型與項目列表;) – Aleks

0

Rails允許外部URL在redirect_to,所以你可以這樣做:

redirect_to "http://www.example.com/interesting_page" 

如果那是你所期待的。

+0

謝謝zwippie,但是有沒有辦法在rails應用程序之外定義重定向規則,比如在網站上定義一個'htaccess'或類似的東西,正在使用rails – Aleks

相關問題