2017-08-29 125 views
0

我刚刚使用AWS S3,我想知道是否有可能使用网站路由指导元数据选项将多个静态网站托管在一个存储桶中。我计划拥有多个文件夹,每个文件夹都有自己的index.html,但如何在用户输入地址时配置存储区设置以路由到每个单独的站点。在S3存储桶上托管多个站点,从目录路径服务index.html

例如通过键入

http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder1 

会带他们到网站1 和

http://<bucket-name>.s3-website-<AWS-region>.amazonaws.com/folder2 will take them to website 2 

如果这是可能的,但有什么办法也能达到使用AWS CLI配置?

回答

0

这可以通过对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/ 

如果您在你的水桶这样的文件夹结构,你必须在每个级别的 索引文件。当用户指定类似于文件夹查找的URL时,是否存在尾部斜杠 确定网站的行为。例如,以下 网址(带有斜线)返回photos/index.html索引 文档。

参考:Index Document Support

+0

当我使用的URL与结尾的斜线,它下载而不是显示它的index.html文件! – Esyt

+0

检查index.html的Content-Disposition标题https://stackoverflow.com/q/18296875/1549165 – Ashan

+0

谢谢,这是solve.Now无法加载源(CSS,Js,..),因为它寻找他们在存储桶根目录下而不是在关联的文件夹中?它只是带来了一个空白页面 – Esyt