본문 바로가기
Today I learned!/오늘 하루 배운 것, 기억할 것

spa 배포시 주소창에 pathname을 직접 입력했을 때 404 에러

by sweesweet 2022. 12. 13.

프리온보딩 사전 과제를 하면서 개발할 때는 잘 되니까 의식하지 못했었는데, 배포후 주소창에 '/todo' 를 입력했을 때 제대로 작동을 하지 않는다는걸 다른 동기분에게 피드백을 받으면서 알게 되었다. 이유가 무엇일까?

1. 검색해본 결과 spa이기 때문에 index.html에 대한 자원만 존재하고 다른 주소를 입력시엔 그 주소에 대한 자원이 없기 때문이라고 한다.

2. 그렇다면 프로젝트를 진행할 때 배포했을 때는 잘 됐었는데 왜 netlify나 github page에서 할 때는 왜 안됐던 걸까?

-S3를 배포할 때를 생각해본다면 오류가 났을 시 지정했던 문서를 index.html로 설정했었는데, 그 당시에는 그냥 따라하기만하고 "왜"라고 생각을 안해봤던 게 패착이었다. spa의 특성을 생각하지 않다니..

3. 그렇다면 netlify등을 사용할 때는 어떻게 해야하는걸까?

-public 폴더에 _redirects 파일을 만들고(확장자x) 

/* /index.html 200

이렇게 작성하고 build를 하면 된다!