🚨 [React & Vite] Vercel λ°°ν¬μ‹œ 404 μ—λŸ¬

2024λ…„ 10μ›” 20일
1λΆ„

React + Vite + JS ν”„λ‘œμ νŠΈλ₯Ό μž‘μ—…ν•˜κ³  Vercel에 배포λ₯Ό ν•˜λ‹ˆ κ°„ν—μ μœΌλ‘œ 404μ—λŸ¬κ°€ λ°œμƒν–ˆλ‹€. μ΄μœ κ°€ κΆκΈˆν•΄μ„œ μ’€ 더 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•΄λ³΄λ‹ˆ λžœλ€ν•˜κ²Œ λ°œμƒν•˜λŠ”κ²Œ μ•„λ‹ˆκ³  navigateλ‚˜ <Link>둜 μ΄λ™ν•˜μ§€ μ•ŠμœΌλ©΄ ν•΄λ‹Ή μ—λŸ¬κ°€ λ°œμƒν•˜λŠ” 것 κ°™μ•˜λ‹€. 예λ₯Ό λ“€μ–΄ /signin μ΄λΌλŠ” path에 μ ‘κ·Όν•  λ•Œ λ²„νŠΌ 클릭 λ“±μœΌλ‘œ μ΄λ™ν•˜λŠ”κ²Œ μ•„λ‹Œ, 직접 url에 μž…λ ₯ν•΄μ„œ μ΄λ™ν•˜λ €ν•˜λ©΄ λ°œμƒν–ˆλ‹€.

🚨 404 ν•΄κ²°

해결은 맀우맀우 κ°„λ‹¨ν•˜κ²Œ ν•΄κ²°ν–ˆλ‹€. ν”„λ‘œμ νŠΈ 루트 κ²½λ‘œμ— vercel.json μ΄λΌλŠ” νŒŒμΌμ„ μƒμ„±ν•˜κ³  μ•„λž˜ λ‚΄μš©μ„ λ³΅λΆ™ν•œλ‹€.

{
  "routes": [{ "src": "/[^.]+", "dest": "/", "status": 200 }]
}