【发布时间】:2020-08-29 01:38:20
【问题描述】:
使用 asp.net 核心,我正在尝试从以下位置重写 url: “产品/索引/区域/类型” 至 : “产品/地区类型”
region 和 type 是不固定的词。相反,它们指的是区域,无论其名称如何,也包括类型
【问题讨论】:
标签: asp.net url-rewriting
使用 asp.net 核心,我正在尝试从以下位置重写 url: “产品/索引/区域/类型” 至 : “产品/地区类型”
region 和 type 是不固定的词。相反,它们指的是区域,无论其名称如何,也包括类型
【问题讨论】:
标签: asp.net url-rewriting
如果我理解您的要求正确,那么您应该使用中间件。
试试这个:
public class UrlRewriterMiddleware
{
private readonly RequestDelegate _next;
public SelfRequestRouterMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
if(context.Request.Path.Value.Contains("product/index/region/type")
context.Request.Path = context.Request.Path.Value.Replace("product/index/region/type", "products/region-type");
await _next.Invoke(context);
}
}
然后在你的启动中:
app.UseMiddleware<UrlRewriterMiddleware>();
【讨论】: