【问题标题】:How do I redirect from a page that no longer exist Rails 4如何从不再存在的页面重定向 Rails 4
【发布时间】:2014-05-26 18:57:27
【问题描述】:

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

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

 root "pages#home"
end

【问题讨论】:

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


    【解决方案1】:

    我不建议用 Rails 来做。你会得到两条不同的路径,它们指向相同的资源,而爬虫引擎并不真正欣赏这些资源(例如,/posts/1 和 /blog/1 会指向同一个帖子,这对 SEO 不友好,可能会导致你的网站被索引不佳)。

    您可以使用 301 来回答。这是您必须在 Apache/Ngninx/Whatever 设置中进行的配置,请在此处阅读更多信息:https://support.google.com/webmasters/answer/93633

    【讨论】:

      【解决方案2】:

      如果您需要在应用程序级别处理重定向,那么这样做很容易。看看例子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}" }
      

      【讨论】:

        猜你喜欢
        • 2017-07-26
        • 1970-01-01
        • 1970-01-01
        • 2018-03-02
        • 2023-04-10
        • 2015-04-26
        • 2016-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多