【发布时间】:2011-02-14 23:06:12
【问题描述】:
我有一个即将启动的网站,并且已提出 URL 规范化请求。我想知道在我的 RoR 应用程序中让 http://www.example.com 的所有请求永久重定向(301)到 http://example.com 的最佳方式是什么?或者,换一种方式问,我怎样才能去掉“www”。来自所有生成的 url、路径、请求?
仅供参考,这是一个 Rails 3 应用程序。
【问题讨论】:
-
刚刚注意到您需要在 RoR 应用程序中执行此操作。您可以在应用程序控制器中执行 before 回调并检查请求的标头并重定向是否是 www 版本。但是,如果不是绝对必要,我不建议这样做,因为当 www 请求可以由(轻量级)前端 Web 服务器(如 nginx 或 apache)处理时,Rails 堆栈会不必要地处理它。
标签: ruby-on-rails ruby-on-rails-3 routing canonical-link