我正在做一个坐在ASP.Net WebAPI顶端的SPA.我正在等待使用
HTML5历史记录,而不是使用#/进行历史路由,但是对于深层链接来说,这是一个问题,我需要确保/和/ foo / bar都返回相同的HTML文件(我的JS将呈现正确的部分的SPA).
解决方法
为了使事情变得简单,同时仍然保持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提供服务.