ServiceStack Self Hosting重定向任何404 for SPA(Url Rewrite)

时间:2015-06-13 03:55:48

标签: angularjs servicestack

我正在使用自托管服务堆栈来使用mvc和razor进行单页面应用。在同一个apphost我服务一些api。问题是我需要一些404重定向到主路径“/”以获得在AngularJS中运行的html5模式。我试过了:

DefaultRedirectPath = "/"
this.GlobalHtmlErrorHttpHandler = new RazorHandler("/");

如何向主页面收到任何404请求?

1 个答案:

答案 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的服务器生成的网页。