>  Q&A  >  본문

S3 정적 웹사이트 호스팅: 모든 경로를 index.html로 리디렉션

저는 HTML5 PushStates를 사용할 JavaScript 애플리케이션을 호스팅하기 위해 S3를 사용하고 있습니다. 문제는 사용자가 URL을 북마크에 추가해도 아무런 문제가 해결되지 않는다는 것입니다. 나에게 필요한 것은 전체 리디렉션을 수행하는 대신 모든 URL 요청을 수락하고 S3 버킷의 루트 index.html을 제공할 수 있는 것입니다. 그러면 내 JavaScript 애플리케이션이 URL을 구문 분석하고 올바른 페이지를 제공할 수 있습니다.

리디렉션 대신 모든 URL 요청에 대해 index.html을 제공하도록 S3에 지시하는 방법이 있나요? 이는 https://stackoverflow.com/a/10647521/1762614 예제에 표시된 것처럼 단일 index.html을 제공하여 들어오는 모든 요청을 처리하도록 Apache를 설정하는 것과 유사합니다. 저는 단지 이러한 경로를 처리하기 위해 웹서버를 실행하는 것을 피하고 싶습니다. S3에서 모든 작업을 수행하는 것은 매우 유혹적입니다.

P粉127901279P粉127901279391일 전674

모든 응답(1)나는 대답할 것이다

  • P粉231112437

    P粉2311124372023-10-16 19:14:41

    CloudFront를 사용하면 URL 해킹 없이 이 문제를 쉽게 해결할 수 있습니다.

    • S3 버킷 생성(예: 반응
    • )
    • 다음 설정으로 CloudFront 배포판을 생성합니다.
      • 기본 루트 개체: index.html
      • 소스 도메인 이름: S3 버킷 도메인(예: React.s3.amazonaws.com
      • )
    • 오류 페이지 탭으로 이동하여 사용자 정의 오류 응답 만들기를 클릭하세요.
      • HTTP 오류 코드: 403: 금지됨(404: 찾을 수 없음, S3 정적 웹사이트인 경우)
      • 사용자 정의 오류 응답: 예
      • 응답 페이지 경로:/index.html
      • HTTP 응답 코드: 200: OK
      • 클릭 만들기

    회신하다
    0
  • 취소회신하다