Ruby on rails 将WWW添加到URL时';在RubyonRails上不存在

Ruby on rails 将WWW添加到URL时';在RubyonRails上不存在,ruby-on-rails,ruby,ruby-on-rails-4,routing,rails-routing,Ruby On Rails,Ruby,Ruby On Rails 4,Routing,Rails Routing,我想强制我的URL在不存在时以www.开头 我尝试了match方法,但它似乎忽略了URL的开头,它似乎做了一件叫做路由全局搜索的事情,这似乎只适用于路由段 如何使我在RoR中的申请始终从www.开始? ->www.foo.com必须保持原样 ->foo.com必须重定向到www.foo.com最好使用nginx或apache(取决于您使用的是什么)。请参阅以下主题: 适用于nginx 适用于Apache 您可以考虑像或设置机架www只需两个步骤: # Add to Gemfile (and

我想强制我的URL在不存在时以
www.
开头

我尝试了
match
方法,但它似乎忽略了URL的开头,它似乎做了一件叫做路由全局搜索的事情,这似乎只适用于路由段

如何使我在RoR中的申请始终从www.开始? ->www.foo.com必须保持原样
->foo.com必须重定向到www.foo.com

最好使用nginx或apache(取决于您使用的是什么)。请参阅以下主题:

适用于nginx

适用于Apache

您可以考虑像或设置
机架www
只需两个步骤:

# Add to Gemfile (and run `bundler`)
gem 'rack-www'

# configure middleware via `application.rb` (for all environments)
# or the environment specific configuration file
# `environments/<environment>.rb`
config.middleware.use Rack::WWW, :www => true
#添加到Gemfile(并运行“bundler”)
gem'rack www'
#通过“application.rb”配置中间件(适用于所有环境)
#或特定于环境的配置文件
#`environments/.rb`
config.middleware.use Rack::WWW,:WWW=>true

为什么在nginx或apache中这样做更好?因为进一步来说,您可能会面临从http重定向到https的问题。因为nginx是使用C编写的,并且专注于这些任务,所以它将比Rails更快。