Next.js에서 리디렉션을 처리하는 몇 가지 방법이 있습니다. 이 페이지에서는 각 옵션, 사용 사례 및 대량 리디렉션 관리 방법을 살펴보겠습니다.

API Purpose Where Status Code
redirect 사용자를 변이나 이벤트 후 리디렉션 서버 컴포넌트, 서버 액션, 라우트 핸들러 307 (임시) 또는 303 (서버 액션)
permanentRedirect 사용자를 변이나 이벤트 후 리디렉션 서버 컴포넌트, 서버 액션, 라우트 핸들러 308 (영구)
useRouter 클라이언트 측 내비게이션 수행 클라이언트 컴포넌트의 이벤트 핸들러 N/A
next.config.js의 리디렉션 경로에 기반한 들어오는 요청 리디렉션 next.config.js 파일 307 (임시) 또는 308 (영구)
NextResponse.redirect 조건에 따라 들어오는 요청 리디렉션 미들웨어 N/A

redirect function

redirect 함수를 사용하면 사용자를 다른 URL로 리디렉션할 수 있습니다. **redirect**는 서버 컴포넌트, 라우트 핸들러 및 서버 액션에서 호출할 수 있습니다.

**redirect**는 종종 변이나 이벤트 후에 사용됩니다. 예를 들어, 포스트를 생성한 후에 다음과 같이 사용할 수 있습니다:

'use server'
 
import { redirect } from 'next/navigation'
import { revalidatePath } from 'next/cache'
 
export async function createPost(id: string) {
  try {
    // Call database
  } catch (error) {
    // Handle errors
  }
 
  revalidatePath('/posts') // Update cached posts
  redirect(`/post/${id}`) // Navigate to the new post page
}

[코드] app/actions.tsx

알아두면 좋은 사항:

추가 정보를 원하시면 redirect API 레퍼런스를 참조하세요.


permanentRedirect function

permanentRedirect 함수를 사용하면 사용자를 영구적으로 다른 URL로 리디렉션할 수 있습니다. **permanentRedirect**는 서버 컴포넌트, 라우트 핸들러 및 서버 액션에서 호출할 수 있습니다.