ruby-on-rails - Ruby on Rails 重定向 www.到非 www 版本的网站

标签 ruby-on-rails redirect ruby-on-rails-4

我想重定向www。版本到网站的非 www 版本,除非它是子域。 (例如:将 www.puppies.com 重定向到 puppies.com 但不要重定向 www.cute.puppies.com)。

如何在保持完整请求路径的同时完成此操作? (例如:www.puppies.com/labradors 转到 puppies.com/labradors)

最佳答案

在您的应用程序 Controller 中:

before_filter :redirect_subdomain

def redirect_subdomain
  if request.host == 'www.puppies.com'
    redirect_to 'http://puppies.com' + request.fullpath, :status => 301
  end
end

正如@isaffe 指出的那样,您也可以在 Web 服务器中重定向。

编辑:使用永久重定向状态 (301) 进行 SEO(如@CHawk 所建议)或 307(如果是临时的)。

关于ruby-on-rails - Ruby on Rails 重定向 www.到非 www 版本的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235977/

相关文章:

SQL关于计数的问题

apache - HTACCESS 通过 HTTPS 重定向添加 WWW

Powershell 2 : Easy way to direct every bit of output to a file?

javascript - 使用 PHP 检测输入内容以重定向到特定页面

ruby-on-rails - 使用 Hadoop 的 Rails

ruby-on-rails - 为什么 Travis 在部署到 Heroku 时无法连接使用 Redis cache_store?

ruby-on-rails - 在 Ruby on Rails 3.1+ 中公开静态文件?

ruby-on-rails - 如何使用rails在rails中实现日志记录?

ruby-on-rails-4 - 将带有 anchor 的 URL 重定向到外部 URL

ruby-on-rails - Rails 加入排除某些 ID