ํฌ์ผ๋ชฌ ๋๊ฐ ๊ฒ์ ํ์ด์ง๊ธฐ๋ฅ ๊ตฌํ์ด ์๋๊ณ 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๋ต๋ณ
๊ทธ๋ ๋ค๊ณ ํ๋ค.
๋ง์ฝ ์ดํ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ๊ฒ์๊ธ์ ์ฐธ๊ณ ํด์ ์์ ํด ๋ด์ผ๊ฒ ๋ค.