Я пытаюсь перенаправить URL-адрес, который выглядит как http: // хост / api / getThingByID / 12345 к http: // хост / api / addr / 12345 / getThing
К сожалению, regsub () не поддерживает группы захвата. Я собирался попытаться обойти это, просто вызвав его дважды, один раз, чтобы переписать URL-адрес до идентификатора, а затем снова заменить /$
с участием /getThing
, но я не могу понять, как вызвать функцию дважды в одном правиле перенаправления.
После долгих экспериментов я нашел решение. Вы можете просто связать regsub () подряд, используя следующее правило:
http-request redirect code 301 location %[url,regsub(^/api/getThingByAddr,/api/addr/,),regsub($,/getThing,)] if { path_beg /api/getThingByAddr }