Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何从一个S3存储桶中提供多个静态页面?_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 如何从一个S3存储桶中提供多个静态页面?

Amazon web services 如何从一个S3存储桶中提供多个静态页面?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,让我们假设有一个AmazonS3 bucketexample.com配置用于静态托管。在配置中,控制台允许设置索引文件和可选错误文件。但我正努力想办法在网站上添加另一个页面。我认为这将是直截了当的,但我无法在官方文件或互联网上找到答案 如果我想向静态站点(例如,example.com/page2)再添加一个页面,并且在根目录的S3 bucket中已经有一个page2.html文件,那么进行路由配置的正确位置在哪里?可以通过S3控制台完成吗?还是需要通过某种DNS记录进行配置?更复杂的是,这还需要

让我们假设有一个AmazonS3 bucket
example.com
配置用于静态托管。在配置中,控制台允许设置索引文件和可选错误文件。但我正努力想办法在网站上添加另一个页面。我认为这将是直截了当的,但我无法在官方文件或互联网上找到答案

如果我想向静态站点(例如,
example.com/page2
)再添加一个页面,并且在根目录的S3 bucket中已经有一个
page2.html
文件,那么进行路由配置的正确位置在哪里?可以通过S3控制台完成吗?还是需要通过某种DNS记录进行配置?更复杂的是,这还需要在URL中使用和不使用www

在DNS端,我当前具有以下配置:

CNAME | WWW | www.example.com.s3-website-east-1.amazonaws.com | TTL 30 min
URL Redirect Record | @ | http://www.example.com unmasked

只需创建一个名为
page2.html
的文件。可通过
example.com/page2.html
访问

不需要路由配置

仅当未指定页面时才使用索引文件别名(例如,它们转到
example.com/

至于将
www.example.com
映射到
example.com
,您将创建另一个名为
www.example.com
的bucket,并使用“重定向请求”指向
example.com
。(如果使用
CNAME
对您有效,可能会更简单,但首先测试它,看看它是否按预期工作。请参阅:)


请参阅:(按照手动步骤操作,而不是通过CloudFormation实现自动化,这样您可以更好地了解配置的内容)

只需创建一个名为
page2.html的文件即可。可通过
example.com/page2.html
访问

不需要路由配置

仅当未指定页面时才使用索引文件别名(例如,它们转到
example.com/

至于将
www.example.com
映射到
example.com
,您将创建另一个名为
www.example.com
的bucket,并使用“重定向请求”指向
example.com
。(如果使用
CNAME
对您有效,可能会更简单,但首先测试它,看看它是否按预期工作。请参阅:)


请参阅:(按照手动步骤操作,而不是通过CloudFormation进行自动化,以便更好地了解已配置的内容)

您是否尝试访问example.com/page2.html或example.com/page2上的页面

如果要访问example.com/page2上的页面,请在根目录下创建一个名为page2的“文件夹”,并在该文件夹中放置一个名为index.html的文件


如果要使用example.com/page2.html,请创建一个名为page2.html的文件,并将其放在bucket的“根”中。

是否尝试访问example.com/page2.html或example.com/page2上的页面

如果要访问example.com/page2上的页面,请在根目录下创建一个名为page2的“文件夹”,并在该文件夹中放置一个名为index.html的文件


如果要使用example.com/page2.html,请创建一个名为page2.html的文件,并将其放入存储桶的“根目录”中。

如果现有的
page2.html
文件不适用于您,请告诉我们您在尝试访问它时看到的错误消息。如果现有的
page2.html
文件不适用于您,请告诉我们您在尝试访问它时看到了哪些错误消息。我刚刚在阅读您的答案时意识到,我的bucked名为“example”,而不是“example.com”。我将纠正这个问题,看看它是否解决了这个问题。好的,我已经纠正了bucket命名问题,现在有两个正确命名的bucket,www.example.com bucket重定向到example.com。我有一个到example.com资源的CNAME记录映射。但问题依然存在。我可以导航到索引页,但不能导航到第2页。例如,example.com/page2的错误消息是firefox中的默认消息“嗯,我们很难找到该站点。”当站点不存在时会出现该消息。请注意,我使用的是Namecheap,而不是路线53。哦,您不能使用Namecheap进行名称解析。相反,您必须使用静态网站和Amazon Route 53别名。请参阅:幸运的是,您可以使用NameSheap将名称解析委托给Route 53,而无需移动整个域注册。看:当我读到你的答案时,我才意识到我的bucked被命名为“example”,而不是“example.com”。我将纠正这个问题,看看它是否解决了这个问题。好的,我已经纠正了bucket命名问题,现在有两个正确命名的bucket,www.example.com bucket重定向到example.com。我有一个到example.com资源的CNAME记录映射。但问题依然存在。我可以导航到索引页,但不能导航到第2页。例如,example.com/page2的错误消息是firefox中的默认消息“嗯,我们很难找到该站点。”当站点不存在时会出现该消息。请注意,我使用的是Namecheap,而不是路线53。哦,您不能使用Namecheap进行名称解析。相反,您必须使用静态网站和Amazon Route 53别名。请参阅:幸运的是,您可以使用NameSheap将名称解析委托给Route 53,而无需移动整个域注册。见: