0

如何将所有未找到的页面请求重定向到同一视图?

这以某种方式说明了我的意思:

config.RouteTable.Add("Home", "*", "Views/Home.dothtml", new { });

背后的想法是当有人访问一个不存在的页面时:

http://localhost/WhatEverNonExistingPage

请求被重定向到

http://localhost/Home
4

2 回答 2

1

到目前为止,我发现的唯一方法是在 dotvvm 规则之外实现它:

appBuilder.Run(context =>
{
    context.Response.Redirect("/Home");
    return Task.FromResult(0);
});

这意味着基本上任何与配置的中间件中的任何路由不匹配的请求都将被重定向到“/Home”。不完全是我正在寻找的答案,但它是有效的。

于 2016-07-30T18:56:38.423 回答
0

由于 DotVVM 是 Owin,因此您可以将它与 Nancy 一起使用。任何在 DotVVM 中不匹配的路由都会传递给 Nancy。然后,您可以使用 Nancy 处理您的 404 或您可能需要的任何其他类型,例如,如果您正在重建站点,则可以使用 301。

这是一种有点冗长的方法,但如果你正在编写一个带有微服务的混合应用程序,那么它可能是有意义的。

配置:

https://github.com/riganti/dotvvm-samples-combo-with-nancy

在南希处理自定义 404。

https://blog.terribledev.io/custom-error-pages-in-nancy/

于 2016-11-22T14:19:49.870 回答