我怎样才能让 haproxy 重写 url,同时保留路径中间的变量?

我怎样才能让 haproxy 重写 url,同时保留路径中间的变量?

我正在尝试重定向一个类似这样的 URLhttp://主机/api/getThingByID/12345http://主机/api/地址/12345/getThing

不幸的是,regsub() 不支持捕获组。我打算尝试通过调用两次来解决这个问题,一次将 URL 重写为 id,然后再次替换/$/getThing,但我不知道如何在一个重定向规则中两次调用该函数。

答案1

经过多次试验,我想到了一个解决方案。你可以将 regsub() 连续链接起来,规则如下:

http-request redirect code 301 location %[url,regsub(^/api/getThingByAddr,/api/addr/,),regsub($,/getThing,)] if { path_beg /api/getThingByAddr }

相关内容