是否可以为不匹配的请求路径指定 'default' 路由?

Is it possible to specify the 'default' routing for unmatched request path?

像nginx一样,当没有匹配到location时,它可以按照定义的默认部分路由请求路径。类似于 MapElse 方法。

一种方法是制作一条可以捕获任何东西的路线;

订单参数 - 默认情况下所有路线都有 Order = 0。因此,设置 Order = 10 将使它成为最后一个(如果您将有另一条带有 Order 10 的路线,请务必更新它)。

路由参数中的星号意味着它会将整个 url 作为字符串捕获,因此您可以将其拆分为 /

[Route("{*url}", Order = 10)]
public IActionResult Handle404(string url)
{
    // say sample.com/test/1/edit
    // it would catch `test/1/edit`
    foreach(string item in url.Split("/")) {
        ...
    }

    Response.StatusCode = 404;
    return View();
}

这里还提到了其他方法,但您需要编写处理状态代码的代码逻辑;