Choorai

SPA 라우팅 기초

React Router/Vue Router 사용 시 자주 만나는 새로고침 404를 원리부터 해결 방식까지 정리합니다.

핵심 개념

  • SPA: 브라우저에서 라우팅을 처리하는 단일 페이지 앱
  • Client-side Routing: JS 라우터가 경로를 바꿔 화면 전환
  • Fallback: 서버가 알 수 없는 경로를 index.html로 반환

왜 새로고침에서 404가 날까?

브라우저 새로고침은 서버에 현재 경로를 직접 요청합니다. 서버가 해당 파일을 모르면 404를 반환합니다.

해결 방식

  1. 정적 파일이 없는 경로는 index.html로 fallback
  2. 프론트 라우터가 경로를 받아 올바른 화면 렌더링

Cloudflare Pages 예시

public/_redirects
/* /index.html 200

Nginx 예시

nginx.conf
location / {
  try_files $uri $uri/ /index.html;
}

60분 챌린지 연결 지점

초심자 실수 TOP 3

  • 로컬 개발 서버에서는 되는데 배포 서버 fallback 누락
  • 정적 파일 경로(/assets)까지 fallback에 걸어 리소스 깨짐
  • 서버 설정 수정 후 캐시 때문에 이전 동작만 확인

검증 체크리스트

  • 직접 URL 입력 + 새로고침 시도
  • 개발자도구 Network에서 응답 코드 확인
  • 정적 파일(js/css)이 정상 200으로 내려오는지 확인

마지막 업데이트: 2026년 2월 22일 · 버전: v0.0.1

피드백 보내기

입력한 내용으로 새 이슈 페이지를 엽니다.

GitHub 이슈로 보내기