ServiceStack 自托管重定向 SPA 的任何 404(Url 重写)
ServiceStack Self Hosting Redirect any 404 for SPA (Url Rewrite)
我正在使用自托管 servicestack 来处理带有 mvc 和 razor 的单页应用程序。在同一个应用程序主机上,我提供了一些 api。问题是我需要一些 404 重定向到主路径“/”才能在 AngularJS 中获得 html5 模式 运行。我试过:
DefaultRedirectPath = "/"
this.GlobalHtmlErrorHttpHandler = new RazorHandler("/");
如何获取主页的任何 404 请求?
您可以为此注册一个带有通配符的 Fallback Route,这样您就可以在您的服务中处理未知的服务器路由,以便 return 默认页面,以便可以在客户端应用程序中处理路由,例如:
[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 used by the techstacks.io AngularJS Single Page App which also supports server-generated pages with techstacks.io/?html=server。
我正在使用自托管 servicestack 来处理带有 mvc 和 razor 的单页应用程序。在同一个应用程序主机上,我提供了一些 api。问题是我需要一些 404 重定向到主路径“/”才能在 AngularJS 中获得 html5 模式 运行。我试过:
DefaultRedirectPath = "/"
this.GlobalHtmlErrorHttpHandler = new RazorHandler("/");
如何获取主页的任何 404 请求?
您可以为此注册一个带有通配符的 Fallback Route,这样您就可以在您的服务中处理未知的服务器路由,以便 return 默认页面,以便可以在客户端应用程序中处理路由,例如:
[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 used by the techstacks.io AngularJS Single Page App which also supports server-generated pages with techstacks.io/?html=server。