重定向dotvvm

时间:2016-07-22 17:01:33

标签: c# dotvvm

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

这说明了我的意思:

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

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

http://localhost/WhatEverNonExistingPage

resquest被重定向到

http://localhost/Home

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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/