我正在尝试将一个看起来像http://host/api/getThingByID/12345的 url 重定向到http://host/api/addr/12345/getThing
不幸的是,regsub() 不支持捕获组。我打算通过调用它两次来解决这个问题,一次将 url 重写为 id,然后再次替换/$
为/getThing
,但我不知道如何在一个重定向规则中调用该函数两次。
我正在尝试将一个看起来像http://host/api/getThingByID/12345的 url 重定向到http://host/api/addr/12345/getThing
不幸的是,regsub() 不支持捕获组。我打算通过调用它两次来解决这个问题,一次将 url 重写为 id,然后再次替换/$
为/getThing
,但我不知道如何在一个重定向规则中调用该函数两次。
经过多次试验,我想出了一个解决方案。您可以使用以下规则将 regsub() 背靠背链接:
http-request redirect code 301 location %[url,regsub(^/api/getThingByAddr,/api/addr/,),regsub($,/getThing,)] if { path_beg /api/getThingByAddr }