我正在制作一个位于ASP.Net WebAPI之上的SPA.我正在等待使用HTML5历史记录而不是#/
历史路由,但是这会给深度链接带来问题,我需要确保/
并且/foo/bar
都返回相同的HTML文件(我的JS将呈现SPA的正确部分).
如何让OWIN/Katana为多个不同的网址返回相同的HTML文件?
为了简单起见,同时仍保留StaticFiles中间件的所有缓存优势等,我只需使用内联中间件重写请求路径,就像这样
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/app", spa =>
{
spa.Use((context, next) =>
{
context.Request.Path = new PathString("/index.html");
return next();
});
spa.UseStaticFiles();
});
app.UseWelcomePage();
}
}
这将提供任何其他内容的欢迎页面/app/*
,它将始终为index.html提供服务.