使用规范 link 并在 Rails 中掌握 www 版本

Use a canonical link and have the www version be master in Rails

我的网站可用作:

www.site.com
site.com

我希望 www.site.com 成为主站点。如果用户访问裸网站,header 应该有 www 网站的规范 link。在 Rails 中有什么简单的方法可以做到这一点吗?我应该为某个控制器的所有页面完成。 (不是所有控制器,因为该站点是通过子域的多租户:如 client1.site.com 等...)

注:此评论已根据原始发帖人的说明进行了大量编辑

要在 Rails 中设置规范 link,您可以使用 canonical-rails gem:https://github.com/jumph4x/canonical-rails

安装 gem 然后你可以做:

rails g canonical_rails:install

这会将 canonical_rails.rb 文件放入 config/initializers。打开该文件并通过添加此行来定义您的规范 url:

config.host = 'www.yourapp.com'

然后,如果您有 app/views/layouts/layout.html.erb 文件或类似文件,您可以添加:

<%= canonical_tag -%>

到您视图的 <head> 部分。