重定向到root_path

时间:2011-06-01 16:36:15

标签: ruby-on-rails-3 rest routing

我的路线 root 设置为:

root :to => "posts#index", :locale => :en

但仍可访问/ en / posts /和/ en / posts / index,显示root_path中的“重复”内容。如果使用其中一个路径,我想重定向到root_path。

这样,我可以避免搜索引擎中的重复内容,并且我的用户可以获得更一致的体验:资源只存在于一个地方和一个地方(REST)。

2 个答案:

答案 0 :(得分:1)

您可以通过编辑routes.rb文件中的posts资源来关闭帖子/索引网址,如下所示:

resources :posts, :except => :index

如果这会给您带来重定向问题,请阅读路由指南中的导轨指南,特别是第3.12 Redirection部分

答案 1 :(得分:0)

我最近通过在routes.rb中使用以下内容找到了解决此问题的方法:

get "/en/posts" => redirect("/")
resources :posts
root :to => "posts#index", :locale => :en

对/ en / posts的请求被301重定向(永久移动)到根路径