使用正则表达式在sinatra和rack中定义静态路由

9avjhtql  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(133)

我有一个sinatra应用服务器,我希望我的一些路由由客户端处理。具体地说,我想允许任何到正则表达式的路由Map,比如 /\/app.*/ .
例如,这条路线:

GET '/app/my_key/1`

应由客户而非sinatra处理。
我试过这个:

use Rack::Static, urls: {%r{\/app.*/} => 'index.html'}, root: 'public'

然而,这似乎不起作用。它看起来像 Rack::Static 用于文件名,而不是路径。
上面的例子给出了一个404。
我也试过:

get %r{/app.*} do
  redirect '/index.html'
end

不幸的是,这会在浏览器刷新时丢失原始路由,因此会将用户重定向回应用程序的主页。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题