我正在使用自托管服务堆栈来使用mvc和razor进行单页面应用。在同一个apphost我服务一些api。问题是我需要一些404重定向到主路径“/”以获得在AngularJS中运行的html5模式。我试过了:
DefaultRedirectPath = "/"
this.GlobalHtmlErrorHttpHandler = new RazorHandler("/");
如何向主页面收到任何404请求?
答案 0 :(得分:3)
您可以为此注册带有通配符的Fallback Route,这样您就可以处理服务中的未知服务器路由,以便返回默认页面,以便在客户端应用中处理路由,例如:
[FallbackRoute("/{PathInfo*}")]
public class FallbackForClientRoutes
{
public string PathInfo { get; set; }
}
public class MyServices : Service
{
public object Any(FallbackForClientRoutes request)
{
return new HttpResult {
View = "/default.cshtml"
};
}
}
这是also the strategy AngularJS单页面应用使用的techstacks.io,它还支持使用techstacks.io/?html=server的服务器生成的网页。