【问题标题】:How to rewrite url asp.net core如何重写 url asp.net core
【发布时间】:2020-08-29 01:38:20
【问题描述】:

使用 asp.net 核心,我正在尝试从以下位置重写 url: “产品/索引/区域/类型” 至 : “产品/地区类型”

region 和 type 是不固定的词。相反,它们指的是区域,无论其名称如何,也包括类型

【问题讨论】:

    标签: asp.net url-rewriting


    【解决方案1】:

    如果我理解您的要求正确,那么您应该使用中间件。

    试试这个:

    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>();
    

    【讨论】:

    • 非常感谢您的回复,但是地区和类型是不固定的词。相反,它们指的是区域,无论其名称和类型如何。
    猜你喜欢
    • 2017-09-10
    • 2019-02-08
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多