【发布时间】:2009-09-14 17:15:20
【问题描述】:
我为我的客户创建了一个 Rails 应用程序。它是 PHP,我用 rails 从头开始完全重建它。问题是该站点是旧的,并且许多旧页面在谷歌中排名。自然会有很多人点击google中的页面链接,页面将不可用。
你通常如何处理这样的问题?
我需要将此类请求(缺少旧页面)重定向到新应用程序(rails)的主页。我该怎么做?
谢谢。
山姆
【问题讨论】:
标签: ruby-on-rails http-status-code-404
我为我的客户创建了一个 Rails 应用程序。它是 PHP,我用 rails 从头开始完全重建它。问题是该站点是旧的,并且许多旧页面在谷歌中排名。自然会有很多人点击google中的页面链接,页面将不可用。
你通常如何处理这样的问题?
我需要将此类请求(缺少旧页面)重定向到新应用程序(rails)的主页。我该怎么做?
谢谢。
山姆
【问题讨论】:
标签: ruby-on-rails http-status-code-404
301 重定向旨在成为最有效且对 Google 友好的方式,并且应该保留您的搜索页面排名。
也就是说,我还没有在现实生活中尝试过,因为我的应用程序的下一个版本将使用这种方法来重构网站。
【讨论】:
你可以用谷歌搜索“.htaccess”、apache 和“永久重定向”。
【讨论】:
如果没有注释 (flash[:notice]) 让用户知道出了什么问题,将用户重定向到首页会有点迷失方向。
我认为最好在 config/routes.rb 中编写一些路由来处理旧页面并返回新版本的页面(如果它们仍然存在),否则会回退到 404 页面。
【讨论】:
如果您已经能够在新应用程序中维护 URL(例如 /members.php 现在是 /members),如果您使用 apache,则可以执行以下操作:
RewriteRule ^(.*).php $1 [R=301,L]
这将删除 php 扩展并执行 301 重定向,并将 pagerank 转移到新页面。
如果这是不可能的,并且您必须重定向到新的主页,这可能会起作用,我自己还没有尝试过:
RewriteRule ^(.*).php http://www.example.com/ [R=301,L]
【讨论】: