用于附加.html或index.html的AWS S3路由规则

时间:2016-03-24 13:55:43

标签: amazon-web-services amazon-s3 routing

我有一个Jekyll生成的静态HTML页面,我用作我的主页。目前我正在尝试从AWS S3上的传统托管服务迁移它。到目前为止,我设法将所有文件发布到存储桶并启用网站托管,但在浏览时,页面已损坏。

基本上subpages/不会重写为subpages/index.htmlsubpages/entry1不会重写为subpages/entry1.html

之前我使用过这样的.htaccess配置:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*subpages/[^.]+)/?$ $1.html
RewriteRule ^(.*subpages2/[^.]+)/?$ $1.html

按预期重写。

如何使用S3路由规则重新创建此类行为? Documentation在这方面提供了相当有限的配置选项,并没有举例说明如何实现这种情况。

2 个答案:

答案 0 :(得分:4)

Amazon S3没有广泛的重写功能。

您可以指定在指定目录引用时读取的默认文档。例如,您可以指定默认文档为index.html。这样,如果请求/,那么它将提供/index.html。但这是一个每桶设置,因此您不能对不同的文件夹有不同的规则。

您可以修改您的Jekyll配置,以便从subpages/entry1/index.html生成subpages/entry1.html。这样,您的网址就会继续有效。

答案 1 :(得分:3)

您需要修改引用,以便首先包含子页面/ entry1.html。比你不需要重写。