我知道有很多問題可以回答這個問題。我熟悉.htaccess
和nginx.conf
方法,但我不能在heroku上訪問這樣的傳統配置方法。如何使用Rails 3/Rack不使用www進行重定向?
Simone Carletti給出了這個答案,利用Rails 2.x金屬,但我使用Rails 3,這是不兼容的。 Redirect non-www requests to www urls in Rails
請注意:
我不希望在我的ApplicationController簡單before_filter
。我想完成類似於Simone的重寫。我相信這是最起碼的web服務器或者中間件的工作,所以我想把這些東西留給實際的應用代碼。
目標
redirect to status
----------------------------------------------------
www.foo.com foo.com 301
www.foo.com/whatever foo.com/whatever 301
只有主機配套/^www\./
應該重定向。所有其他請求應該被忽略。
非常感謝:) – Robin 2011-11-14 14:53:32
我不明白需要每種方法。我的中間件沒有它,它們像魅力一樣工作。 – radiospiel 2013-06-01 12:46:47
啊,現在我看到:自我在重定向的情況下作爲響應主體返回,並且主體必須respond_to? :每。這可能不是規範的方式。我建議只是返回一個空字符串或[]作爲響應正文。 – radiospiel 2013-06-01 12:59:22