Amplify 애플리케이션에 대한 리디렉션 및 다시 쓰기 설정 - AWS Amplify 호스팅

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amplify 애플리케이션에 대한 리디렉션 및 다시 쓰기 설정

리디렉션을 사용하면 웹 서버가 하나의 URL에서 다른 URL로 경로를 다시 라우팅할 수 있습니다. 리디렉션을 사용하는 일반적인 이유는 다음과 같습니다. URL의 모양을 사용자 지정하고 링크가 끊어지지 않도록 하며 주소를 변경하지 않고 앱이나 사이트의 호스팅 위치를 이동하고 요청된 URL을 웹 앱에 필요한 형식으로 변경합니다.

Amplify가 지원하는 리디렉션 이해

Amplify는 콘솔에서 다음과 같은 리디렉션 유형을 지원합니다.

영구적 리디렉션(301)

301 리디렉션은 웹 주소의 대상 주소를 지속적으로 변경하려는 것입니다. 원본 주소의 검색 엔진 순위 기록이 새 대상 주소에 적용됩니다. 리디렉션은 클라이언트 측에서 발생하므로 리디렉션 후에 브라우저 탐색 모음에 대상 주소가 표시됩니다.

301 리디렉션을 사용하는 일반적인 이유는 다음과 같습니다.

  • 페이지 주소가 바뀔 때 링크가 끊어지지 않도록 합니다.

  • 사용자가 주소에 흔히 하는 오타를 낼 때 링크가 끊어지지 않도록 합니다.

임시 리디렉션(302)

302 리디렉션은 웹 주소의 대상 주소를 임시로 변경하려는 것입니다. 원본 주소의 검색 엔진 순위 기록이 새 대상 주소에 적용되지 않습니다. 리디렉션은 클라이언트 측에서 발생하므로 리디렉션 후에 브라우저 탐색 모음에 대상 주소가 표시됩니다.

302 리디렉션을 사용하는 일반적인 이유는 다음과 같습니다.

  • 원본 주소로 복구하는 동안 우회합니다.

  • 사용자 인터페이스의 A/B 비교를 위한 테스트 페이지를 제공합니다.

    참고

    앱이 예상치 못한 302 응답을 반환하는 경우, 해당 오류가 발생하는 이유는 앱의 리디렉션 및 사용자 지정 헤더 구성을 변경했기 때문일 수 있습니다. 이 문제를 해결하려면 사용자 지정 헤더가 유효한지 확인한 다음, 앱의 기본 404 다시 쓰기 규칙을 다시 활성화합니다.

다시 쓰기(200)

200 리디렉션(다시 쓰기)은 원본 주소에서 제공된 것처럼 대상 주소의 콘텐츠를 표시하기 위한 것입니다. 검색 엔진 순위 기록이 원본 주소에 계속 적용됩니다. 리디렉션은 서버 측에서 발생하므로 리디렉션 후에 브라우저 탐색 모음에 원래 주소가 표시됩니다. 200 리디렉션을 사용하는 일반적인 이유는 다음과 같습니다.

  • 사이트의 주소를 변경하지 않고 전체 사이트를 새 호스팅 위치로 리디렉션합니다.

  • 모든 트래픽을 단일 페이지 웹 앱(SPA)의 index.html 페이지로 리디렉션하여 클라이언트 측 라우터 기능으로 처리합니다.

찾을 수 없음(404)

404 리디렉션은 요청이 존재하지 않는 주소를 가리킬 때 발생합니다. 요청된 페이지 대신 404의 대상 주소 페이지가 표시됩니다. 404 리디렉션이 발생하는 일반적인 이유는 다음과 같습니다.

  • 사용자가 잘못된 URL을 입력할 때 메시지 링크가 끊어지지 않도록 방지합니다.

  • 웹 앱의 존재하지 않는 페이지에 대한 요청이 index.html 페이지를 향하도록 하여 클라이언트 측 라우터 기능으로 처리합니다.

리디렉션 순서 이해

리디렉션은 목록의 맨 위에서 아래로 가며 적용됩니다. 이러한 순서가 의도한 효과를 발휘하는지 확인합니다. 예를 들어 다음과 같은 리디렉션 순서를 통해 /docs/ 아래의 특정 경로에 대한 모든 요청이 /documents/ 아래의 동일한 경로로 리디렉션합니다(단, /docs/specific-filename.html/documents/different-filename.html로 리디렉션합니다.

/docs/specific-filename.html /documents/different-filename.html 301 /docs/<*> /documents/<*>

다음 순서로 리디렉션하면 specific-filename.htmldifferent-filename.html로 리디렉션이 무시됩니다.

/docs/<*> /documents/<*> /docs/specific-filename.html /documents/different-filename.html 301

Amplify가 쿼리 파라미터를 전달하는 방법 이해

쿼리 파라미터를 사용하여 URL 일치에 대한 제어를 강화할 수 있습니다. Amplify는 다음 예외의 경우를 제외하고 모든 쿼리 파라미터를 301 및 302 리디렉션을 위한 대상 경로로 전달합니다.

  • 원본 주소에 특정 값으로 설정된 쿼리 문자열이 포함된 경우, Amplify는 쿼리 파라미터를 전달하지 않습니다. 이 경우, 리디렉션은 지정된 쿼리 값을 가진 대상 URL에 대한 요청에만 적용됩니다.

  • 일치 규칙의 대상 주소에 쿼리 파라미터가 있는 경우, 쿼리 파라미터는 전달되지 않습니다. 예를 들어 리디렉션의 대상 주소가 https://example-target.com?q=someParam인 경우, 쿼리 파라미터는 전달되지 않습니다.