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

我在我的应用程序中使用机架重写来删除尾部斜线(如果找到),但我只想要,如果不在某个路线上。

我使用过类似的东西:

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

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

请尝试使用此function。

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