【问题标题】:Redirect .aspx pages to new Ruby on Rails Routes将 .aspx 页面重定向到新的 Ruby on Rails 路由
【发布时间】:2014-09-15 01:47:12
【问题描述】:

我正在将旧的 ASP.NET 站点转换为 Ruby on Rails 站点,我想知道将旧的 .aspx 页面重定向到使用同一域的 Ruby on Rails 路由的最佳方法。该站点的新 Ruby on Rails 版本位于不同的服务器上,但我显然希望域相同。例如,如何将 www.mydomain.com/product.aspx?productid=1 重定向到 www.mydomain.com/product/1,同时将域/DNS 转移到托管 Ruby on Rails 应用程序的新服务器?我可以轻松地将 DNS 切换到新服务器,一切都会正常工作,但我没有获得将那些旧的 .aspx 页面重定向到新的 Ruby on Rails 路由的 SEO 和遗留 url 的好处。搜索引擎永远不会知道,所以我会失去所有页面排名,不得不重新开始。

对解决此问题的最佳方法有什么建议吗?

【问题讨论】:

    标签: asp.net ruby-on-rails ruby redirect http-status-code-301


    【解决方案1】:

    理想情况下,您希望在遇到 Rails 之前处理此类事情,如果您使用的是 Phusion Passenger 等,请使用 Apache mod_rewrite 规则。

    也就是说,如果您希望在您的应用中使用 redirects,您仍然可以在您的 routes.rb 中设置永久 redirects

    get 'product.aspx?productid=:id', to: redirect('/product/%{id}')
    

    【讨论】:

    • 不错!我不知道您可以获取 .aspx 页面并从中重定向。发送!!
    • 我不知道为什么这篇文章几个月前没有发布(提交时发生了一些事情),但这种重定向技术不起作用。我收到“没有路由匹配 [GET]”/page.aspx”。我在 routes.rb 文件中设置了如下路由:get 'page.aspx?thingid=:id', to: redirect ('/things/%{id}')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    相关资源
    最近更新 更多