は、限り、あなたはtext/html
に設定Content-type
ヘッダーでファイルをアップロードすると、ページが正常に動作します。
それ以外の場合は、S3 Redirectsを使用することが唯一の選択肢ですが、最後に.htmlのないページに移動することはできますが、後でブラウザが.htmlという名前のファイルで、.htmlはまだアドレスバーに表示されるので、おそらく勝者ではありません。
また、これはかなり言及する価値がありますが、HAProxyや他のリバースプロキシサーバーを実行しているEC2インスタンスでリクエストを送って、リダイレクトしないでリダイレクトすると、 .html 'を最後まで使用していますが、その使い勝手の良さを取り戻すことはできますが、必要ならば1つ以上のアカウントを保持することで、アカウントあたり100バケット以上のサイトをホストできるようになります"サイト"を1つのバケットに入れ、要求された各オブジェクトパスに接頭辞を追加します。同じAWS地域内のEC2とS3間のデータ転送は無料であるため、帯域幅の追加料金は発生せず、インスタンス自体のコストになります。
更新(コメント):
AWSコンソールは、メタデータのキーとしてのContent-Typeを選択するので、やや直観に反するかもしれのみtext/plainで、テキスト/ RTFなど、いくつかの選択肢を示唆していますtext/htmlではなく... "Value"ドロップダウンリストは、提案のみを提供しています。半感応性のあるものはすべてここで受け入れられます。
- (バケット内)アクションを選択→
- クリック
- ダイアログボックスで、アップロードするファイルを選択し
- を「ファイルを追加」をクリック「詳細設定」および適用のボックスに
をチェックをアップロード
- クリック「設定権限」と「公共のすべてのものを作る」チェック(該当する場合)
- クリック「に設定したメタデータを」
「をより多くのメタデータを追加」
- クリック
- の "Key"ドロップダウンリストで "Content-Type"を選択し、 "Value"ボックスに "text/html"と入力します。これは選択肢ではありませんが、これは一般的なあなたがボックスに入れることができるものを制限しません。
- 「アップロードを開始」をクリックしてください
HTMLの 'Content-type'ヘッダーを意味しますか?それはHTML5で廃止されましたか? –
HTMLにはない...実際のHTTPヘッダーのContent-Typeヘッダーは、オブジェクトに 'GET'または' HEAD'リクエストを送信したときにブラウザに送信されます。これらのヘッダーはオブジェクトにS3に格納されます。コンソールのオブジェクトのメタデータを見ると、私が何を参照しているかがわかります。ファイルをアップロードするとき、コンソールは拡張機能から適切なヘッダーを「推測」するように見えますが、手動で設定することもできます。 –
@AlexChumbley受け入れてくれてありがとう。私は最初の提案、ファイル名から拡張子を削除し、S3の 'Content-Type'ヘッダーを設定して行ったと思いますか? –