Inflearn Community Q&A
404.tsx
Resolved
Written on
ยท
151
0
๐จ๊ธด๊ธ ๊ณต์ง
04.30 ~ 05.07 ํด๊ฐ ๊ธฐ๊ฐ์ผ๋ก ์ธํด ํจ๋น๋๊ป์ ๋ต๋ณ์ ๋์ ํด ์ฃผ์ค ์์ ์ ๋๋ค.
๋ถํธํจ์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ๊ธ๋ฐฉ ๋ณต๊ทํ๊ฒ ์ต๋๋ค ๐ซก
๐จ ํ๋ ) ์ง๋ฌธํ์๊ธฐ ์ ์ ๊ผญ ์ฝ์ด์ฃผ์ธ์ (10์ด ์์)
์ ๋ชฉ์ ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑํด ์ฃผ์ธ์
โ ์ข์ ์ : ๊ฐ์ ์ผ๊ธฐ์ฅ Home ๊ตฌํ์ค xx ์ด์๊ฐ ๋ฐ์ํฉ๋๋ค.
โ๏ธ ๋์ ์ : ์ด๊ฑฐ ์ ์๋๋์?, ์ค๋ฅ๋์ ๋์์ฃผ์ธ์ ๋ฑ
๋น์ทํ ๊ถ๊ธํจ์ ๊ฐ๊ณ ๊ณ์ ๋ถ๋ค๊ป ๋์์ด ๋ ์ ์์ด์!
์ฝ๋์ ์ด์๋ ์ ์ฒด ํ๋ก์ ํธ๋ฅผ "๋งํฌ ํํ"๋ก ์ฌ๋ ค์ฃผ์ ์ผ ์์ธ์ ํ์ ํ ์ ์์ต๋๋ค.
๊นํ๋ธ, ๊ตฌ๊ธ๋๋ผ์ด๋ธ ๋ฑ์ ์๋จ์ ํตํด ๋งํฌ ํํ๋ก ์ ๋ฌํด์ฃผ์ธ์
์ง์ ์คํํด๋ณด๋ฉฐ ์์ธ์ ํ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ ์คํธ ํํ๋ก ๋ถ์ฌ๋ฃ๋๊ฑด ์ผ๊ฐํด์ฃผ์ธ์ ๐ฅฒ
๋ต๋ณ์ด ๋์์ด ๋์ จ๋ค๋ฉด ๋ต๊ธ or ํด๊ฒฐ์๋ฃ ๋ฒํผ์ ํด๋ฆญํด์ฃผ์ธ์
๋น์ทํ ๊ถ๊ธํจ์ ๊ฐ๊ณ ๊ณ์ ๋ถ๋ค๊ป ๋์์ด ๋ ์ ์์ด์!
์ ๋ต๋ณ์ด ์ฌ๋ฌ๋ถ๊ป ๋์์ด ๋์๋์ง ์ ๋ ์๊ณ ์ถ์ด์ ๐ฅฒ
๊ฐ์ ๋ด์ฉ์ ๊ถ๊ธํ ์ ์ด ์๋ค๋ฉด ๋ช ์ฑํฐ์ ๋ช ๋ถ ๋ช ์ด์ธ์ง ์๋ ค์ฃผ์๋ฉด ๋ ์ข์์
๋ ๋น ๋ฅธ ๋ต๋ณ์ด ๊ฐ๋ฅํฉ๋๋ค!
๊ฐ์๋ ๋์ผํ๊ฒ [[...id]].tsx๋ 404.tsx ๋ง๋ค์๋๋ฐ url์ http://localhost:3000/book/123-123123๋ก ํด๋ ์ ์ ํํ ๋ ๊น์?
http://localhost:3000/adfafdas ์ด๋ฐ์์ผ๋ก ํ๋ฉด 404ํ์ด์ง๋ก ์ ์ด๋ ๋ฉ๋๋ค.
Answer 2
0
์๋ ํ์ธ์ ์ด์ ํ์ ๋๋ค.
๊ฐ์์์ 404 ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์
๋๋ ์ฃผ์๋ ์๋ ๊ฐ์ ์บก์ณ์ ๊ฐ์ด 225/225 ์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ URL ํ๋ผ๋ฏธํฐ๊ฐ ์ฌ๋์(/)๋ก ๊ตฌ๋ถ๋์ด ์๋ ์ฃผ์์
๋๋ค. ์ง๋ฌธ์ฃผ์ 123-123123์ ์ฌ๋์๋ก ๊ตฌ๋ถ๋์ด ์์ง ์๊ธฐ์ ํ๋์ URL ํ๋ผ๋ฏธํฐ๋ง ์กด์ฌํ๋๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.

0
์๋ ํ์ธ์, ์ธํ๋ฐ AI ์ธํด์ ๋๋ค. hinpuo๋.
Next.js์์ ๊ตฌ์ฑํ [[…id]].tsx์ 404.tsx์ ๊ดํ ์ง๋ฌธ์ ์ฃผ์ จ๋ค์. ์ง๋ฌธ ๋ด์ฉ์ผ๋ก ๋ณด์ ๋ผ์ฐํ ์ด ์์๊ณผ ๋ค๋ฅด๊ฒ ์๋ํ๋ ๋ฌธ์ ๋ก ๋ณด์ ๋๋ค.
๋ฌธ์ ๋ถ์ ๋ฐ ํด๊ฒฐ ๋ฐฉ์
[…id] ๊ฒฝ๋ก ์ค์ :
- [[…id]].tsx๋ ๋ค์ด๋๋ฏน ๋ผ์ฐํธ๋ก ์ฌ์ฉ๋ ๋ ๋ชจ๋ ํ์ ๊ฒฝ๋ก๋ฅผ ํฌํจํ ์ ์๋ ์ผ์ข
์ catch-all ๋ผ์ฐํฐ์
๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์
/book/123-123123์ ๊ฐ์ URL๋ก ์ ์ ์,[[...id]].tsx์ปดํฌ๋ํธ๊ฐ ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
- ์ด์ ๋ฌ๋ฆฌ,
/adfafdas์ ๊ฐ์ ๊ฒฝ๋ก๊ฐ 404 ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ ๋๋ ๊ฒ์ ํด๋น ๊ฒฝ๋ก์ ๋ง๋ Next.js ํ์ด์ง๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- [[…id]].tsx๋ ๋ค์ด๋๋ฏน ๋ผ์ฐํธ๋ก ์ฌ์ฉ๋ ๋ ๋ชจ๋ ํ์ ๊ฒฝ๋ก๋ฅผ ํฌํจํ ์ ์๋ ์ผ์ข
์ catch-all ๋ผ์ฐํฐ์
๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์
404 ํ์ด์ง๋ก ๋ฆฌ๋๋ ์ ์ค์ :
- ํน์ ๊ฒฝ๋ก๋ฅผ 404 ํ์ด์ง๋ก ๋ฆฌ๋๋ ํธํ๊ณ ์ ํ์ ๋ค๋ฉด,
getStaticPathsํจ์์์ paths ๋ฐฐ์ด์ ํด๋น ๊ฒฝ๋ก๋ฅผ ์ ์ธํ ๊ฒฝ๋ก๋ง ๋ด๊ฑฐ๋, ์กฐ๊ฑด๋ถ๋ก ํด๋นํ๋ ํ์ด์ง๋ฅผ ํธ๋ค๋งํ์ฌnotFound๋ฅผ ๋ฐํํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
- ํน์ ๊ฒฝ๋ก๋ฅผ 404 ํ์ด์ง๋ก ๋ฆฌ๋๋ ํธํ๊ณ ์ ํ์ ๋ค๋ฉด,
์๋ฌ ํ์ด์ง ๊ตฌํ:
404.tsxํ์ผ์์๋ ์ผ๋ฐ์ ์ผ๋ก catch๋์ง ๋ชปํ ๋ชจ๋ ๋ผ์ฐํธ์ ๋ํ ๊ธฐ๋ณธ ์๋ฌ ํ์ด์ง๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ ๊ฒฝ๋ก์ ๋ํ ์๋ฌ ํ์ด์ง๊ฐ ํ์ํ ๊ฒฝ์ฐ, ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ ๊ฒฝ๋ก์ ์ถ๊ฐ์ ์ธ ์๋ฌ ์ฒ๋ฆฌ ๋ก์ง์ ๋ฃ์ด์ผ ํฉ๋๋ค.
Next.js์ URL ๋งค์นญ ๋ฐ ํ์ด์ง ์ด๋ ๋ก์ง์ ๋ฐ๋ฅด๋ฉด ์์ ๊ฐ์ ํน์ฑ์ด ์์ต๋๋ค. ๋ง์ฝ ์์๊ณผ ๋ค๋ฅธ ํ๋์ด ๊ณ์๋๋ค๋ฉด, ๊ด๋ จ ํ๋ก์ ํธ ์ค์ ์ ๋ค์ ์ ๊ฒํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
์ ์ฌํ ์ง๋ฌธ ๋ฐ ์ถ๊ฐ ์๋ฃ:
- Next.js Dynamic Routes and 404 Handling
- Next.js์์ 404 ํ์ด์ง ์ค์ ํ๊ธฐ
์ ๋ด์ฉ์ด ๋์์ด ๋๊ธธ ๋ฐ๋ผ๋ฉฐ, ๋ฌธ์ ๊ฐ ์ง์๋ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ฃผ์๋ฉด ๋ ๋์ ํด๊ฒฐ์ฑ ์ ์ฐพ์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ ๋ ์ง๋ฌธ์๋์ ์ดํด๋ฅผ ๋๊ณ ์ ์ง์๊ณต์ ์๋์ ๊ธฐ์กด ๋ต๋ณ์ ์ฐธ๊ณ ํ์ฌ ์ ์ฌํ ๋ต๋ณ ๋งํฌ๋ฅผ ์ถ์ฒํด๋๋ฆฌ๊ณ ์์ต๋๋ค. ํ์ฌ ๋ฒ ํ ๊ธฐ๋ฅ์ผ๋ก ๋ต๋ณ์ด ๋ง์กฑ์ค๋ฝ์ง ์์ ์ ์๋ ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค. ๐ ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ์๋ฉด, ์ด์ด์ ์ง๋ฌธํด ์ฃผ์ธ์. ๊ณง ์ง์๊ณต์ ์๊ป์ ๋ต๋ณํด ์ฃผ์ค ๊ฒ์ ๋๋ค.




