[๐Ÿ•น๏ธ ํฌ์ผ“๋ชฌ ๋„๊ฐ] vercel ๋ฐฐํฌ ๊ฒ€์ƒ‰์ฐฝ ํŽ˜์ด์ง€ 404 ์—๋Ÿฌ

JiEunยท2024๋…„ 1์›” 30์ผ
0

์‹œ์ž‘

ํฌ์ผ“๋ชฌ ๋„๊ฐ ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์ž˜๋˜๊ณ  vercel๋กœ ๋ฐฐํฌ๋ฅผ ํ•˜๋ ค๊ณ ํ•˜๋‹ˆ
404์—๋Ÿฌ๋ฅผ ํ‘œ์‹œํ–ˆ๋‹ค.


๋ฌธ์ œ ํ™•์ธํ•˜๊ธฐ

404๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•ด ์คฌ๋‹ค.

์ฒ˜์Œ์—๋Š” ์ปดํฌ๋„ŒํŠธ ๋Œ€/์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์„ ์ œ๋Œ€๋กœ ์•ˆํ•ด์ค˜์„œ ๊ทธ๋Ÿฐ๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ
๊ทธ๊ฑด ์•„๋‹ˆ์˜€๋‹ค.

๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์„ ๋•Œ ์ตœ์ƒ๋‹จ ๊ฒฝ๋กœ์— vercel.json์— ๊ฒฝ๋กœ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ํ•ด์„œ ์‹œ๋„ํ•ด ๋ดค๋‹ค.

{
  "rewrites": [
    {
      "source": "/search/:path*",
      "destination": "/search"
    }
  ],
  "routes": [{ "src": "/[^.]+", "dest": "/", "status": 200 }]
}

push๋ฅผ ํ•˜๋‹ˆ vercel์—์„œ ํ•ด๋‹น ์ƒํƒœ์—์„œ๋Š” ๋ฐฐํฌ๊ฐ€ ํž˜๋“ค๋‹ค๋Š” ํ‘œ์‹œ๋ฅผ ๋ณด๋‚ด์™”๋‹ค.

rewrites, redirects, headers, cleanUrls ๋˜๋Š” trailingSlash๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ routes๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

routes๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ทธ๋Ÿฐ ๋“ฏ ์‹ถ์—ˆ๋‹ค.


ํ•ด๊ฒฐ

[Vercel Vite Error 404] Vercel Vite ๋ฐฐํฌ์‹œ ๋ผ์šฐํ„ฐ ์ƒˆ๋กœ๊ณ ์นจ 404 ์—๋Ÿฌ - by G E Lee๋‹˜

๊ทธ๋Ÿฌ๋‹ค ํ•ด๋‹น ๊ฒŒ์‹œ๋ฌผ์„ ๋ณด๊ณ  ์ˆ˜์ • ํ›„ ๋‹ค์‹œ ๋ฐฐํฌํ•˜๋‹ˆ ์„ฑ๊ณตํ–ˆ๋‹ค!

{
  "rewrites": [{ "source": "/(.*)", "destination": "/" }]
}

๊ทธ๋ž˜์„œ ์™œ ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋‹ค.

Vercel์˜ vercel.json ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ๋””๋ ‰์…˜(rewrites) ์„ค์ •์„ ํ•˜๋Š” ์ด์œ ๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. React์—์„œ ์‚ฌ์šฉํ•˜๋Š” React Router์™€ ๊ฐ™์€ ๋ผ์šฐํŒ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์„œ๋ฒ„ ์ธก์—์„œ๋Š” ์ด๋Ÿฌํ•œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜๋ฉด ์„œ๋ฒ„๋Š” ํ•ด๋‹น ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์ฐพ์ง€ ๋ชปํ•ด 404 ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

vercel.json ํŒŒ์ผ์— ์ž‘์„ฑํ•œ ๋ฆฌ๋””๋ ‰์…˜ ์„ค์ •์€ ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค ํŽ˜์ด์ง€('/')๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

-gpt๋‹ต๋ณ€

๊ทธ๋ ‡๋‹ค๊ณ  ํ•œ๋‹ค.
๋งŒ์•ฝ ์ดํ›„ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์„ ์ฐธ๊ณ ํ•ด์„œ ์ˆ˜์ •ํ•ด ๋ด์•ผ๊ฒ ๋‹ค.

profile
๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ฑ์žฅ ์ค‘! (์•Œ์•„๋ดค๋˜ ๋‚ด์šฉ ๋“ฑ์„ ์ •๋ฆฌํ•˜๊ธฐ)

0๊ฐœ์˜ ๋Œ“๊ธ€