[ASP.Net] ASP.Net Core WebAPI 프로젝트에 static html을 포함시킬때 Page Not Found(404) 에러 대신 root로 redirection 해주기

 ASP..Net core로 WebAPI 서버를 자주 개발하는데 종종 Angular로 만든 프론트를 wwwroot 폴더에 넣어서 함께 종종 배포하곤 합니다. 이 때, Angular  web app에서 별도로 routing을 하는 경우 ASP.Net에서 먼저 http 요청을 처리하기 때문에 브라우저에서 페이지 생신시 요청되는 url이 WebAPI에서 알지 못하는 주소라서 404 Not Found를 뿜어냅니다.

 이럴 때 root 경로로 redirect 해주면 간단히 해결됩니다.

 

app.Use(async (context, next) =>
{
    await next();

    if (context.Response.StatusCode == 404)
    {
        context.Request.Path = "/";
        await next();
    }
});