s3 버킷에 배포한 뒤, 어떤도메인.com이 아닌 [어떤도메인.com/login] 등 페이지로 바로 이동하면 왜 오류가 날까요?

셔노·2022년 7월 6일
0

개발공부

목록 보기
9/12

리액트의 라우팅 방식이 전통적 링크 방식이 아니기 때문입니다. (전통적 링크 방식의 경우 주소창에 적힌대로 html 파일을 받아 보여준다면, SPA는 하나의 html을 두고 주소창에 적힌 대로 내용을 갈아끼우는 방식)

SPA란 (싱글 페이지 어플리케이션) 어떤 웹 사이트의 전체 페이지를 하나의 페이지에 담아 동적으로 화면을 바꿔가며 표현하는 것이 SPA이다. 뭔가를 클릭하거나 스크롤하면, 상호작용하기 위한 최소한의 요소만 변경이 일어난다. 페이지 변경이 일어난다고 보여지는 것 또한 최초 로드된 자바스크립트를 통해 미리 브라우저에 올라간 템플릿만 교체되는 것이다.

s3 버킷의 정적 웹사이트 호스팅은 /login 경로에 맞는 html을 찾는 거고, 해당 html파일이 없기 때문에 404 에러가 나는 것입니다.

해결방안

s3가 어떤 상황이건 index.html을 보도록 설정해주는 것을 통해 에러를 해결할 수 있습니다.

모든 라우팅이 클라이언트 사이드에서 이루어질 수 있게, 오류 문서의 항목을

index.html

로 설정해줍니다.

profile
초보개발자

0개의 댓글