我有一个Jekyll生成的静态HTML页面,我用作我的主页。目前我正在尝试从AWS S3上的传统托管服务迁移它。到目前为止,我设法将所有文件发布到存储桶并启用网站托管,但在浏览时,页面已损坏。
基本上subpages/
不会重写为subpages/index.html
而subpages/entry1
不会重写为subpages/entry1.html
。
之前我使用过这样的.htaccess
配置:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*subpages/[^.]+)/?$ $1.html
RewriteRule ^(.*subpages2/[^.]+)/?$ $1.html
按预期重写。
如何使用S3路由规则重新创建此类行为? Documentation在这方面提供了相当有限的配置选项,并没有举例说明如何实现这种情况。
答案 0 :(得分:4)
Amazon S3没有广泛的重写功能。
您可以指定在指定目录引用时读取的默认文档。例如,您可以指定默认文档为index.html
。这样,如果请求/
,那么它将提供/index.html。但这是一个每桶设置,因此您不能对不同的文件夹有不同的规则。
您可以修改您的Jekyll配置,以便从subpages/entry1/index.html
生成subpages/entry1.html
。这样,您的网址就会继续有效。
答案 1 :(得分:3)
您需要修改引用,以便首先包含子页面/ entry1.html。比你不需要重写。