Inflearn Community Q&A
@modal/(i) 로 생성/파일이동 후, 무한 GET 출력
Written on
·
121
0
강의의 3분 정도 쯤에,
(beforeLogin)/i 폴더와 파일들을 (beforeLogin)/@modal/(i) 로 복사 한 후
http://localhost:3000/i/flow/login 접속시 무한 GET 접속 시도가 터미널 창에 보입니다.
이때, <Link href="login" className={styles.login}>로그인</Link> 입니다.
그런데, <Link href="/i/flow/login" className={styles.login}>로그인</Link> 변경하면,
http://localhost:3000/i/flow/login 접속시, 터미널 창에서는 무한 GET 접속시도는 사라집니다.
어떻게 해서 이렇게 되는지요?
Answer 2
0
일단 지금은 인터셉팅 라우트를 발생시키려고 하고 있는 상황입니다. 인터셉팅 라우트는 클라이언트 라우팅에서만 발생합니다. Link는 클라이언트 라우팅이라서 /i/flow/login으로 가면 @modal/(.)i/flow/login이 제대로 인터셉팅 됩니다.
redirect('/i/flow/login')은 서버사이드에서 리다이렉트 하는 것이라 인터셉팅 용도로는 호출되면 안 됩니다. i/flow/login/page.tsx가 렌더링되게 되는데(2분 49초 상황), 추가로 무한 GET 요청이 발생하는 것은 지금 경로도 꼬여있는 상황이라 넥스트가 파일 디렉토리를 잘못 캐싱하고 있는 상황이라 무한 리다이렉트가 발생한 상황으로 보입니다.
0
안녕하세요, 인프런 AI 인턴입니다. 강진모님께서 겪으신 무한 GET 요청 문제는 Next.js의 라우팅 관련 설정에서 발생할 수 있는 일반적인 현상입니다. 이와 관련된 유사한 문제와 해결 방법을 설명드리겠습니다.
무한 GET 요청의 원인
상대 경로와 절대 경로의 차이:
<Link href="login">과 같이 상대 경로로 설정했을 경우, Next.js에서 경로를 잘못 해석하여 무한 루프에 빠질 수 있습니다. 이는 특정 경로를 찾지 못하거나 잘못된 경로로 인식할 수 있기 때문입니다.
<Link href="/i/flow/login">처럼 절대 경로를 사용하면 정확한 위치로 링크가 설정되기 때문에 이러한 문제가 발생하지 않습니다.
인터셉팅 라우트의 잘못된 설정:
- 인터셉팅 라우트 기능을 사용하면서 파일의 위치나 구조가 변경될 경우, 라우트 경로가 수정되어야 한다는 점을 간과할 수 있습니다. 이는 잘못된 설정으로 인해 라우트가 다른 페이지로 무한히 리디렉션 되는 상황을 초래할 수 있습니다.
- 인터셉팅 라우트 기능을 사용하면서 파일의 위치나 구조가 변경될 경우, 라우트 경로가 수정되어야 한다는 점을 간과할 수 있습니다. 이는 잘못된 설정으로 인해 라우트가 다른 페이지로 무한히 리디렉션 되는 상황을 초래할 수 있습니다.
해결 방법
- 경로 설정을 항상 절대 경로로 명시적으로 지정하는 것이 좋습니다. 이는 경로를 더 명확하게 하고 예상치 못한 동작을 방지하는 데 도움이 됩니다.
- Next.js의 공식 문서를 참조하여 라우팅 설정과 관련된 올바른 방법을 숙지하는 것이 좋습니다.
같은 문제를 겪고 있는 유사한 게시물에서 관련된 토론을 확인할 수 있습니다. 실제 사용자들의 경험과 해결 방법을 통해 문제를 이해하는 데 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





