在 S3 存储桶上托管多个站点,从目录路径提供 index.html

Esy*_*syt 5 web-hosting amazon-s3 aws-cli

我刚开始使用 AWS S3。我想知道是否可以使用网站路由定向元数据选项在一个存储桶中托管多个静态网站。我计划有多个文件夹,每个文件夹都有自己index.html的 .

例如通过键入

http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder1 
Run Code Online (Sandbox Code Playgroud)

将他们带到网站 1

http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder2 
Run Code Online (Sandbox Code Playgroud)

将他们带到网站 2

如果可能,是否有任何方法也可以使用 AWS CLI 实现配置?

Ash*_*han 3

只需稍微修改 URL 即可实现此目的。您需要按如下所示使用带有尾部斜杠的 URL 来为folder1 和folder2 内的index.html 文档提供服务。

http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder1/
http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder2/
Run Code Online (Sandbox Code Playgroud)

如果您在存储桶中创建这样的文件夹结构,则每个级别都必须有一个索引文档。当用户指定类似于文件夹查找的 URL 时,尾部斜杠的存在与否将决定网站的行为。例如,以下带有尾部斜杠的 URL 将返回 photos/index.html 索引文档。

参考:索引文档支持

  • 谢谢,问题已经解决了。现在它无法加载源(css,Js,..),因为它在存储桶根而不是在关联的文件夹中查找它们?它只会显示一个空白页 (2认同)