我知道有很多问题回答了这个。我熟悉.htaccess
和nginx.conf
方法,但我在Heroku上没有访问这些传统配置方法的权限。
Simone Carletti 给出了一个利用 Rails 2.x Metals 的答案,但是我正在使用 Rails 3,所以它不兼容:
将非 www 请求重定向到 Ruby on Rails 中的 www URL
请注意:
我不想在我的 ApplicationController 中使用简单的 before_filter
。我想要实现类似 Simone 的重写。我相信这是 Web 服务器或像 Rack 这样的中间件的工作,因此我想将这一点留出实际应用程序代码的范畴。
目标
redirect to status
----------------------------------------------------
www.foo.com foo.com 301
www.foo.com/whatever foo.com/whatever 301
只有匹配/^www\./
的主机应该被重定向,所有其他请求应该被忽略。