Azure API 管理“重写 url”-如何删除 URL 前缀

Lei*_*i.L 2 url-rewriting azure azure-api-management

我有大量以 开头的公共 URL /abc/*,例如:

/abc/user

/abc/login

/abc/group/admin

我怎样才能重写 URL 规则来摆脱/abc/*这样的情况:

/user

/login

/group/admin

我尝试将 URL 模板设置为/abc/*,重写模板为/。看来url模板可以知道上面的url,但是重写模板无法写出我想要的结果。

在此输入图像描述 在此输入图像描述

Kai*_*ter 6

我测试了您的场景 - 这/xxxx为您提供了以下转发路径/abc/xxxx

<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace(context.Api.Path+"/abc",""))" copy-unmatched-params="true" />
Run Code Online (Sandbox Code Playgroud)

或者做更通用的事情:

<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace(context.Api.Path+context.Operation.UrlTemplate.Replace("/*",""),""))" copy-unmatched-params="true" />
Run Code Online (Sandbox Code Playgroud)