Rails Mass 301重定向 - 它会导致routes.rb问题吗?

时间:2016-01-18 19:11:50

标签: ruby-on-rails ruby redirect routes

我有一大堆需要重定向的网址(超过600个),这些网址都是唯一的。他们都是所有命名的网址(例如:example / this-shoe-name和example.com/that-blue-product),因此我无法使用like this来半动态地执行此操作这个,他们也没有重定向到任何类似的东西(例如www.example.com/this-shoe-name重定向到newexample.com/catalog/shoes与newexample.com/this-shoe-name)。 / p>

我想我编写600条重定向规则很好(尽管我宁愿避免使用它),但在我看来,它似乎会使routes.rb文件变得笨重。< / p>

如果没有在routes.rb中编写600条规则,有没有最佳实践方法呢?在routes.rb中有600条规则会让我的应用程序变慢/破坏东西吗?

1 个答案:

答案 0 :(得分:1)

我不知道它是否会减慢路由处理速度,但我对此表示怀疑。只要你把它们放在最后,你真的在​​乎吗?像你一样,我不喜欢它造成的混乱。

另一种方法是创建一个catch all all route或者救援404,然后在“old urls”表中查找URL,如果找到匹配项,则重定向到新url。

您甚至可以将“旧网址”作为属性绑定到产品或类别模型中。然后搜索并找到重定向到该模型的正确URL。我在过去做过这个并取得了相当不错的成功。奖励是你可以在管理工具中公开它并让客户输入所有内容: - )