【问题标题】:Is it possible to match any previously unmatched url in ASP.NET MVC 6 route mapping?是否可以匹配 ASP.NET MVC 6 路由映射中任何以前不匹配的 url?
【发布时间】:2016-04-15 01:40:16
【问题描述】:

我想自定义不匹配的404页面,我在路由器“all”中将“模板”参数指定为“{*}”,旨在捕获所有不匹配的url(例如“http://localhost:12345/aaa/bbb/ccc/ddd/”) “默认”路由器。有什么办法吗?

app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{Controller:regex((?i)^((?!Error).)*$)}/{Action}/{id?}",
                defaults: new { Controller = "Home", Action = "Index" })

            //TODO: This Route is not working as expected.
            .MapRoute(
                name: "all",
                template: "{*}", //<---------
                defaults: new { Controllers = "Error", Action = "Unknown" });
        });

【问题讨论】:

标签: asp.net-mvc routing


【解决方案1】:

您可以像这样尝试“{*url}”或“/{*url}”。我认为它需要在通配符之后添加一些内容,以便您可以使用捕获的 url 作为参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多