Ruby on rails 从www到根域(301)

Ruby on rails 从www到根域(301),ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,从任何开头有www的url到根域名www.domain.com(或www.domain.com/something)的301重定向到domain.com,规范的方法是什么?假设还有sub1.domain.com,当然,不应该有重定向 是应用程序控制器中的过滤器之前的还是其他什么?您只需检查请求并执行必要的重定向即可。您是对的,它是在应用程序\u controller.rb中完成的,大致如下: before_filter :needs_redirection def needs_redi

任何开头有
www
的url
到根域名
www.domain.com
(或
www.domain.com/something
)的301重定向到
domain.com
,规范的方法是什么?假设还有
sub1.domain.com
,当然,不应该有重定向


应用程序控制器中的
过滤器之前的
还是其他什么?

您只需检查
请求
并执行必要的重定向即可。您是对的,它是在
应用程序\u controller.rb
中完成的,大致如下:

  before_filter :needs_redirection

  def needs_redirection
    redirect_to 'domain.com' if request.original_url.include? 'www.domain.com'
  end

您应该在nginx中定义它,更多信息如下:@mymlyn,如果我使用的是其他东西,而不是nginx?您在生产中没有使用任何http服务器?在我看来,这个精确的重定向应该由http服务器而不是您的服务器来处理application@mymlyn我是因此,通过web服务器重定向比通过应用程序重定向好吗?Andreika,
'www.domain.com/something'
并不是字面上的
something
,它意味着
任何东西
,任何url。通过nginx(或我正在使用的任何web服务器)做同样的事情不是更好吗?@AlexanderSupertramp不会撒谎-我还没有用过它,所以说不出来