app.MapWhen(context => { return !context.Request.Path.Value.StartsWith("/api"); }, builder => { var option = new RewriteOptions(); option.AddRewrite(".*","/index.html",true); app.UseRewriter(option); app.UseStaticFiles(); });
就是如果不是/api开头的,统一定位到index.html,然后再经过UseStaticFiles处理,就直接到了index.html。
RewriteOptions这些转换在细节篇中介绍。当然你也可以直接去给HttpContext body注入index.html流,然后返回,但是这样用不到一些其他特性,就不介绍了。