Development/ASP.Net
[ASP.Net] ASP.Net Core WebAPI 프로젝트에 static html을 포함시킬때 Page Not Found(404) 에러 대신 root로 redirection 해주기
아빠는개발자
2023. 2. 11. 21:01
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();
}
});