有没有办法让 catch all 路由服务于静态文件?
看着这个http://blog.nbellocam.me/2016/03/21/routing-angular-2-asp-net-core/
我基本上想要这样的东西:
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller}/{action=Index}");
routes.MapRoute("spa", "{*url}"); // This should serve SPA index.html
});
因此,任何与 MVC Controller 不匹配的路由都将提供 wwwroot/index.html
最佳答案
我不得不对@DavidG 的回答做一些补充。这是我最终得到的结果
Startup.cs
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller}/{action}");
routes.MapRoute("Spa", "{*url}", defaults: new { controller = "Home", action = "Spa" });
});
HomeController.cs
public class HomeController : Controller
{
public IActionResult Spa()
{
return File("~/index.html", "text/html");
}
}
关于c# - ASP.net 核心 MVC 捕获所有路由服务静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414397/