

# インデックスドキュメントの設定
<a name="IndexDocumentSupport"></a>

ウェブサイトホスティングを有効にする場合は、インデックスドキュメントの設定とアップロードも必要です。*インデックスドキュメント*は、リクエストがウェブサイトのルートまたはサブフォルダに対して行われた場合に Amazon S3 によって返されるウェブページです。たとえば、ユーザーがブラウザに `http://www.example.com` と入力した場合は、このユーザーは特定のページをリクエストしてはいません。この場合、Amazon S3 は、インデックスドキュメントを提供し、これが*デフォルトページ*と見なされることがあります。

バケットに対して静的ウェブサイトホスティングを有効にする場合は、インデックスドキュメントの名前 (`index.html` など) を入力します。バケットに対して静的ウェブサイトホスティングを有効にした後、インデックスドキュメント名を含む HTML ファイルをバケットにアップロードします。

ルートレベル URL の末尾のスラッシュは省略可能です。たとえば、`index.html` をウェブサイトのインデックスドキュメントとして設定した場合は、以下の URL のどちらからも `index.html` が返されます。

```
1. http://example-bucket.s3-website.Region.amazonaws.com/
2. http://example-bucket.s3-website.Region.amazonaws.com
```

Amazon S3 ウェブサイトのエンドポイントの詳細については、「[ウェブサイトエンドポイント](WebsiteEndpoints.md)」を参照してください。

## インデックスドキュメントとフォルダ
<a name="IndexDocumentsandFolders"></a>

Amazon S3 では、バケットはオブジェクトのフラットコンテナです。つまり、コンピュータのファイルシステムとは異なり、階層構造ではありません。ただし、論理的な階層を作成するには、フォルダ構造を暗示させる名前をオブジェクトキーに付けます。

たとえば、以下のキー名を持つ 3 つのオブジェクトを含むバケットがあるとします。これらは、物理的な階層構造で格納されているわけではありませんが、キー名から次のような論理フォルダ構造を推測できます。
+ `sample1.jpg` — オブジェクトはバケットのルートにあります。
+ `photos/2006/Jan/sample2.jpg` — オブジェクトは `photos/2006/Jan` サブフォルダにあります。
+ `photos/2006/Feb/sample3.jpg` — オブジェクトは `photos/2006/Feb` サブフォルダにあります。

Amazon S3 コンソールでは、バケットにフォルダを作成することもできます。たとえば、`photos` という名前のフォルダを作成できます。バケットまたはバケット内の `photos` フォルダにオブジェクトをアップロードできます。オブジェクト `sample.jpg` をバケットに追加する場合、キー名は `sample.jpg` です。オブジェクトを `photos` フォルダにアップロードする場合、オブジェクトキー名は `photos/sample.jpg` です。

フォルダ構造をバケット内に作成する場合は、各レベルにインデックスドキュメントが存在している必要があります。各フォルダでは、インデックスドキュメントは同じ名前 (`index.html` など) であることが必要です。ユーザーが指定した URL がフォルダルックアップに似ている場合は、末尾のスラッシュの有無によって、ウェブサイトエンドポイントの動作が決まります。たとえば、末尾にスラッシュのある次の URL は`photos/index.html` インデックスドキュメントを返します。

```
1. http://bucket-name.s3-website.Region.amazonaws.com/photos/
```

ただし、前の URL から末尾のスラッシュを除外した場合、Amazon S3 はまずバケット内のオブジェクト `photos` を検索します。`photos` オブジェクトが見つからない場合、インデックスドキュメント `photos/index.html` が検索されます。見つかった場合、Amazon S3 は `302 Found` メッセージを返し、`photos/` キーを指し示します。それ以降の `photos/` に対するリクエストについて、Amazon S3 は `photos/index.html` を返します。インデックスドキュメントも見つからない場合、Amazon S3 はエラーを返します。

## インデックスドキュメントを設定する
<a name="configuring-index-document"></a>

S3 コンソールを使用してインデックスドキュメントを設定するには、次の手順に従います。REST API、AWS SDK、AWS CLI、または CloudFormation を使用してインデックスドキュメントを設定することもできます。

**注記**  
バージョニングが有効なバケットでは、`index.html` のコピーを複数アップロードできますが、解決されるのは最新バージョンのみです。S3 バージョニングの詳細については、「[S3 バージョニングによる複数のバージョンのオブジェクトの保持](Versioning.md)」を参照してください。

バケットに対して静的ウェブサイトホスティングを有効にする場合は、インデックスドキュメントの名前 (**index.html** など) を入力します。バケットに対して静的ウェブサイトホスティングを有効にした後、インデックスドキュメント名を含む HTML ファイルをバケットにアップロードします。

**インデックスドキュメントを設定するには**

1. `index.html` ファイルを作成します。

   `index.html` ファイルがない場合は、以下の HTML を使用して作成できます。

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. インデックスファイルをローカルに保存します。

   インデックスドキュメントファイル名は、[**静的ウェブサイトホスティング**] ダイアログボックスで入力したインデックスドキュメント名と正確に一致する必要があります。インデックスドキュメント名では、大文字と小文字が区別されます。例えば、**[静的ウェブサイトホスティング]** ダイアログボックスの **[インデックスドキュメント]** 名に「`index.html`」と入力する場合、インデックスドキュメントファイル名も `Index.html` ではなく `index.html` である必要があります。

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

1. バケットリストで、静的ウェブサイトホスティングに使用するバケットの名前を選択します。

1. バケットに対して静的ウェブサイトホスティングを有効にし、インデックスドキュメントの正確な名前 (`index.html` など) を入力します。詳細については、「[ウェブサイトのホスティングの有効化](EnableWebsiteHosting.md)」を参照してください。

   静的ウェブサイトホスティングを有効にしたら、ステップ 6 に進みます。

1. インデックスドキュメントをバケットにアップロードするには、以下のいずれかを実行します。
   + インデックスファイルをコンソールバケットのリストにドラッグアンドドロップします。
   + [**Upload**] を選択し、プロンプトに従ってインデックスファイルを選択してアップロードします。

   手順については、「[オブジェクトのアップロード](upload-objects.md)」を参照してください。

1. (オプション) 他のウェブサイトコンテンツをバケットにアップロードします。

次に、ウェブサイトへのアクセス許可を設定する必要があります。詳細については、「[ウェブサイトアクセスのアクセス許可の設定](WebsiteAccessPermissionsReqd.md)」を参照してください。

オプションとして、[エラードキュメント](CustomErrorDocSupport.md)、[ウェブトラフィックのログ記録](LoggingWebsiteTraffic.md)、または[リダイレクト](how-to-page-redirect.md)を設定することもできます。