Next.js에서 루트 경로(`/`) 접근 시 특정 경로(`/food`) 렌더링하기 🚀

엔케이·2025년 2월 20일
0
post-thumbnail

Next.js에서 루트 경로(/) 접근 시 특정 경로(/food) 렌더링하기 🚀

개요 📝

Next.js 프로젝트에서 루트 경로(/)에 접근했을 때, 특정 경로(/food)의 내용을 렌더링하도록 설정하고 싶다면 어떻게 하면 될까요? 🤔 이 글에서는 next.config.jsrewrites 기능을 활용하여 이를 간단하게 구현하는 방법을 소개합니다. 🔥

해결 방법: rewrites 설정 사용하기 ⚙️

Next.js의 rewrites 기능을 사용하면 사용자가 루트 경로(/)로 접속했을 때 내부적으로 /food 페이지를 렌더링할 수 있습니다. 이 방식은 브라우저의 주소 표시줄에는 여전히 /가 남아 있으면서, 실제로는 /food 페이지의 내용을 보여주는 것이 특징입니다. 🎯

설정 방법 🛠

  1. 프로젝트 루트 디렉토리에서 next.config.js 파일을 엽니다. 📂
  2. 아래와 같이 async rewrites() 함수를 추가합니다. 👇
// next.config.js
module.exports = {
  async rewrites() {
    return [
      {
        source: '/', // 사용자가 '/'에 접근하면
        destination: '/food', // '/food' 페이지의 내용을 렌더링
      },
    ];
  },
};
  1. Next.js 서버를 다시 시작합니다. 🚀
    npm run dev

동작 방식 ⚡️

  • 사용자가 /에 접근하면 URL은 변경되지 않지만, 내부적으로 /food 페이지가 렌더링됩니다. 🎭
  • 브라우저 주소창에는 여전히 /가 유지되므로, 사용자 경험이 더욱 자연스럽습니다. 😊
  • 검색 엔진 크롤러도 / 페이지를 그대로 인식할 수 있어 SEO 측면에서도 유리합니다. 🔍

rewrites를 사용하는 이유 💡

✅ SEO 친화적 🌍

일반적인 리다이렉트(redirects)와 달리, rewrites를 사용하면 //food가 동일한 페이지로 인식되므로 검색 엔진이 중복 페이지로 간주하지 않습니다. 🧐

✅ 사용자 경험(UX) 개선 🌟

리다이렉트 없이 URL이 유지되므로 페이지 이동 시 깜빡임이나 불필요한 새로고침 없이 자연스럽게 동작합니다. 😎

✅ 간단한 구현 🎯

컴포넌트 코드 변경 없이 next.config.js 설정만 추가하면 원하는 기능을 손쉽게 적용할 수 있습니다. 💪

결론 🎉

Next.js에서 루트 경로(/)에 접근했을 때 특정 경로(/food)의 내용을 렌더링하고 싶다면, rewrites 설정을 활용하는 것이 가장 효과적인 방법입니다. 🚀
이 방법을 사용하면 브라우저 URL은 그대로 유지하면서도 /food 페이지의 내용을 보여줄 수 있어, SEO와 사용자 경험 모두를 고려한 깔끔한 해결책이 됩니다. 💯

profile
FE 개발자

0개의 댓글