如何从不再存在Rails 4的页面重定向

时间:2014-05-26 18:57:27

标签: ruby-on-rails ruby-on-rails-4 routes

我创建了一个包含帖子模型和帖子控制器的博客。后来我决定更新路线中的帖子资源,以使用博客作为路径。今天早些时候,我看了一下我的网站如何在Google上编入索引,并注意到mysite.com/posts仍然被编入索引并进入404页面。我无法确定如何将其重定向到新的博客路径。我们非常感谢您提供的任何指导。如果有必要回答这个问题,我在下面列出了我的路线。

 resources :posts, :path => 'blog' do
end

 root "pages#home"
end

2 个答案:

答案 0 :(得分:1)

我不建议使用Rails。你会得到两条不同的路径导致相同的资源,爬行引擎并不真正欣赏(/ posts / 1和/ blog / 1会导致相同的帖子,例如,它不是SEO友好的,可能会导致你的网站被索引不好。)

相反,您可以使用301回答。这是您在Apache / Ngninx / Whatever设置中必须执行的配置,请在此处详细了解:https://support.google.com/webmasters/answer/93633

答案 1 :(得分:1)

如果您需要在应用程序级别处理重定向,那么这样做很容易。看一下示例here

以下路线应添加您提及的特定案例所需的重定向。

get '/posts', to: redirect('/blog')

您可能还希望处理其他资源充足路线的重定向,具体取决于您的网站的编制方式。

get '/posts/new', to: redirect('/blog/new')
get '/posts/:id', to: redirect {|path_params, req| "/posts/#{path_params[:id]}" }
get '/posts/:id/edit', to: redirect {|path_params, req| "/posts/#{path_params[:id]/edit}" }