Routes.rb vs rack-rewrite vs nginx / apache重写规则

我对以前的应用程序版本中的遗留URL有几十条重写规则。 我看到三个选择:

  1. 只需在路由文件中添加“匹配”行(config / routes.rb)
  2. 使用机架重写
  3. 创建Nginx / Apache重写规则(在我的例子中是Nginx)

我认为3的性能优于2,性能优于1。

我的问题:

  • 真的吗?
  • 如果是这样,重要的是多少?
  • 我可能没有考虑过其他权衡吗?
  • 除了那三个之外还有其他任何选择吗?

  1. 是的,您的表现顺序正确。
  2. 取决于您的网站,流量,这些重写规则的点击次数 – 很可能性能比可维护性要重要得多。
  3. 可维护性 – 使用您所知道的以及您的开发人员所知道的内容。 Apache的重写语法很容易出错,而且往往是Write-Once-Read-Never 。 Nginx是相当不错的,但仍然是一个新的DSL供你和你的开发人员学习。 rack-rewrite是Apache的routes.rb ,它实际上很难犯错,因为它很简单(我认为它比routes.rb简单)
  4. 没有值得评价。