Routes.rb против перезаписи в стойку против правил перезаписи nginx / apache - PullRequest
4 голосов
/ 22 апреля 2011

У меня есть десятки правил переписывания для устаревших URL из предыдущего воплощения моего приложения.Я вижу три варианта:

  1. Просто добавьте строки "соответствия" в файле маршрутов (config / rout.rb)
  2. Используйте перезапись в стойку
  3. Создание правил перезаписи Nginx / Apache (в моем случае Nginx)

Я думаю, что 3 имеет лучшую производительность, чем 2, которая имеет лучшую производительность, чем 1.

Мои вопросы:

  • Это правда?
  • Если да, то какое это имеет значение?
  • Есть ли другие компромиссы, которые я, возможно, не рассмотрел?
  • Есть ли вообще какие-либо другие варианты, кроме этих трех?

1 Ответ

8 голосов
/ 22 апреля 2011
  1. Да, у вас правильный порядок производительности.
  2. Зависит от вашего сайта, трафика, количества обращений к этим правилам перезаписи - по всей вероятности, производительность важнее, чем ремонтопригодность.
  3. Ремонтопригодность - используйте то, что вы знаете, и то, что знают ваши разработчики.Синтаксис переписывания в Apache легко ошибиться и имеет тенденцию быть вполне Write-Once-Read-Never * .Nginx довольно хорош, но все же новый DSL для вас и ваших разработчиков.Rack-Rewrite - это обратная сторона Apache, на самом деле сложно ошибиться, потому что она настолько проста (я думаю, что она проще, чем routes.rb)
  4. Ничего не стоит оценивать.
...