-
Nextjs Redirects 관련 팁Front-end/Nextjs (12버전) 2022. 11. 27. 16:34
특정 url을 입력했을 때 다른 곳으로 Redirect (Nextjs 12버전)
Nextjs에서 어떤 특정 url을 입력했을 때 다른 페이지로 redirect하고 싶은 경우가 있습니다.
예를 들어 http://localhost:3000 로 접속 시 http://localhost:3000/dev 로 redirect하고자 하는 경우 특정 설정들을 건드려야 합니다.
이때 어떻게 하면 되는지 살펴보겠습니다.
깃헙 링크: https://github.com/biglol10/tistory_source/tree/main/basepath_redirects
우선 nextjs 프로젝트 폴더에서 next.config.js가 생성되어 있어야 합니다.
- next.config.js 파일소스
const prodEnv = process.env.NODE_ENV === "production"; module.exports = { ...nextConfig, basePath: prodEnv ? "/production" : "/dev", async redirects() { return [ { source: "/", destination: `/${prodEnv ? "production" : "dev"}`, basePath: false, permanent: false, }, ]; }, };
이렇게 해주면 http://localhost:3000 로 접속 시 http://localhost:3000/dev 또는 production 으로 redirect 됩니다.
만약에 http://localhost:3000/dev/ 에서 숫자나 영문자 3개를 입력했을 때 다른 페이지로 이동하고 싶을 경우
{ source: `/${prodEnv ? "production" : "dev"}/:a([A-Za-z1-9]{3})`, destination: `/${prodEnv ? "production" : "dev"}/redirect`, basePath: false, permanent: false, },
를 next.config.js 추가해주시면 됩니다
예시:
로 입력 후 엔터를 치면
로 이동되는 것을 확인할 수 있습니다.
'Front-end > Nextjs (12버전)' 카테고리의 다른 글
Storybook & SASS 설정 (0) 2022.12.11 Nextjs에 Redux Toolkit와 Redux Saga 적용하기 (0) 2022.12.01 Protected Routes & useRouter exception (0) 2022.11.27 Dynamic Layout 적용 + Svg as Component (0) 2022.11.27