如果不是模式,rack-rewrite会删除斜杠

时间:2014-04-27 15:06:17

标签: ruby regex rewrite rack

我在我的应用中使用rack-rewrite来删除跟踪斜杠(如果找到的话),但如果不是某条路线,我只想要它。

我使用了类似的东西:

use Rack::Rewrite do
  r301 %r{^(?!testroute)(.+)/$}, '$1'
end

实现我的需要(例如,除了/testroute/之外的所有路由都应该删除任何尾部斜杠)。问题是,即使它遇到特定路线,它也不会忽略它,它会删除尾部斜杠。我的正则表达式是错的,还是有什么我不考虑的?

1 个答案:

答案 0 :(得分:1)

请尝试使用此功能。

r301 %r{^(?!.*testroute)(.+)/$}, '$1'