2011-04-22 29 views
4

我有幾十個來自我的應用程序的舊版本的遺留URL的重寫規則。 我看到三個選項:Routes.rb vs rack-rewrite vs nginx/apache重寫規則

  1. 只需添加 「匹配」 的路線文件(配置/ routes.rb中)
  2. 使用rack-rewrite
  3. 創建的Nginx/Apache的重寫規則(Nginx的在我的情況)

我想,3比2更好的性能,它具有比1

我的問題,更好的性能:

  • 這是真的嗎?
  • 如果是這樣,它有多重要?
  • 我可能沒有考慮過其他的折衷嗎?
  • 除了那三個之外,還有其他的選擇嗎?

回答

8
  1. 是的,您的表現順序是正確的。
  2. 取決於您的網站,流量,這些重寫規則的點擊次數 - 很可能這些性能的重要性遠低於可維護性。
  3. 可維護性 - 使用你所知道的,以及你的開發人員所知道的。 Apache的重寫語法很容易出錯,並且往往是相當不清的只寫一次。 Nginx的相當不錯,但對於你和你的開發人員來說,仍然是一個新的DSL學習。機架重寫是Apache的反面,它實際上很難犯錯,因爲它很簡單(我認爲它比routes.rb簡單)
  4. 沒有值得評估。
+4

這只是關於我準備寫的:)確切的答案路線是最容易維護和性能將罰款。你可以在lib中創建一個'legacy-rewrites.rb'文件,並將其包含在routes.rb中,這樣它就不會混亂你的主應用程序配置。 – 2011-04-22 15:39:21