配置索引文档
启用网站托管时,还必须配置和上传索引文档。索引文档 是在对网站的根或任何子文件夹发出请求时 Amazon S3 返回的网页。例如,如果用户在浏览器中输入 http://www.example.com
,则该用户没有请求任何特定页面。在这种情况下,Amazon S3 将提供索引文档,该文档有时也可称为默认页面。
当您为存储桶启用静态网站托管时,您可以输入索引文档的名称(例如,index.html
)。为存储桶启用静态网站托管后,您可以将具有索引文档名称的 HTML 文件上传到存储桶。
根级 URL 的尾部斜杠是可选的。例如,如果您将具有 index.html
的网站配置为索引文档,以下任意一个 URL 将返回 index.html
。
http://
example-bucket
.s3-website.Region
.amazonaws.com/ http://example-bucket
.s3-website.Region
.amazonaws.com
有关 Amazon S3 网站端点的更多信息,请参阅 网站端点。
索引文档和文件夹
在 Amazon S3 中,存储桶是对象的平面容器。它不会像计算机上的文件系统那样提供任何分层组织。但是,您可以通过使用表示文件夹结构的对象键名创建逻辑层级结构。
例如,考虑具有三个对象(具有以下键名)的存储桶。虽然它们没有按任何物理分层组织进行存储,但您可以从键名推断以下逻辑文件夹结构:
-
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
索引文档。
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 将返回错误。
配置索引文档
要使用 S3 控制台配置索引文档,请使用以下步骤。您还可以使用 REST API、Amazon SDK、Amazon CLI 或 Amazon CloudFormation 配置索引文档。
注意
在启用版本控制的存储桶中,您可以上传 index.html
的多个副本,但只解析为最新的版本。有关使用 S3 版本控制的更多信息,请参阅使用 S3 版本控制保留对象的多个版本。
当您为存储桶启用静态网站托管时,您可以输入索引文档的名称(例如,index.html
)。为存储桶启用静态网站托管后,您可以将具有此索引文档名称的 HTML 文件上传到存储桶。
配置索引文档
-
创建
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>
-
将索引文件保存在本地。
索引文档文件名必须与您在静态网站托管对话框中输入的索引文档名称完全匹配。索引文档名称区分大小写。例如,如果在静态网站托管对话框中为索引文档名称输入
index.html
,则索引文档文件名也必须是index.html
,而不是Index.html
。 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 在存储桶列表中,请选择要用于托管静态网站的存储桶的名称。
-
为您的存储桶启用静态网站托管,并输入索引文档的确切名称(例如
index.html
)。有关更多信息,请参阅 启用网站托管。启用静态网站托管后,继续执行步骤 6。
-
要将索引文档上传到存储桶,请执行以下操作之一:
将索引文件拖放到控制台存储桶列表中。
选择上传,然后按照提示选择并上传索引文件。
如需分步指导,请参阅 上传对象。
-
(可选)将其他网站内容上传到您的存储桶。
接下来,您必须设置用于访问网站的权限。有关信息,请参阅 设置访问网站的权限。
还可以有选择性地配置错误文档、Web 流量日志记录或重定向。