我知道有很多问题可以回答这个问题。我熟悉.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