S3 静的 Web サイトホスティング: すべてのパスをindex.html にリダイレクトします。
P粉127901279
P粉127901279 2023-10-15 23:02:52
0
1
678

私は S3 を使用して、HTML5 PushStates を使用する JavaScript アプリケーションをホストしています。問題は、ユーザーが URL をブックマークしても、何も解決されないことです。必要なのは、完全なリダイレクトを行うだけではなく、すべての URL リクエストを受け入れ、S3 バケット内のルートのindex.html を提供できるようにすることです。これで、JavaScript アプリケーションが URL を解析し、正しいページを提供できるようになります。

リダイレクトの代わりに、すべての URL リクエストに対して Index.html を提供するように S3 に指示する方法はありますか?これは、https://stackoverflow.com/a/10647521/1762614 の例に示すように、単一のindex.html を提供することですべての受信リクエストを処理するように Apache を設定するのと似ています。これらのルートを処理するためだけに Web サーバーを実行することは避けたいと考えています。 S3 からすべてを実行するのは非常に魅力的です。

P粉127901279
P粉127901279

全員に返信(1)
P粉231112437

CloudFront の助けを借りて、この問題は URL ハッキングなしで簡単に解決できます。

  • S3 バケットを作成します。例:react
  • 次の設定を使用して CloudFront ディストリビューションを作成します。
    • デフォルトのルートオブジェクト:index.html
    • ソースドメイン名: S3 バケットドメイン (例:react.s3.amazonaws.com
    • )
  • [エラー ページ] タブに移動し、 [カスタム エラー応答の作成] をクリックします。 HTTP エラー コード
      : 403: 禁止 (404: 見つかりません、S3 静的 Web サイトの場合)
    • カスタム エラー応答
    • : はい
    • 応答ページのパス
    • :/index.html
    • HTTP 応答コード
    • : 200: OK
    • クリック作成
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート