当Ruby on Rails上没有WWW时,将WWW添加到URL

时间:2015-09-08 14:54:48

标签: ruby-on-rails ruby ruby-on-rails-4 routing rails-routing

我希望强制我的网址在www.不存在的时候开始。

我尝试了match方法,但它似乎忽略了URL的开头,它似乎做了一个名为Route Globbing的东西,它显然只适用于路径段http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments

如何在RoR中创建我的应用程序始终以www开头。 ? - > www.foo.com必须保持原样 - >必须将foo.com重定向到www.foo.com

2 个答案:

答案 0 :(得分:3)

最好在nginx或apache中执行此操作(取决于您正在使用的内容)。请参阅以下主题:

适用于nginx Nginx no-www to www and www to no-www

对于Apache apache redirect from non www to www

答案 1 :(得分:2)

您可以考虑使用rack-wwwrack-rewrite等机架中间件。 rack-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