S3 Как перенаправить все запросы на один и тот же ресурс?
Я думаю о хостинге сайта на S3. Содержание веб-страниц будет храниться в другом месте на нашем веб-сервисе. Поэтому S3 будет предоставлять только HTML-страницу, CSS и, что особенно важно, JS. Затем запросы AJAX будут извлекать данные и отображать их на веб-странице.
Примеры того, что я ищу
https://www.example.com/something/another/thing
routes to s3/mybucket/index.html
https://www.example.com/something
routes to s3/mybucket/index.html
https://example.com
routes to s3/mybucket/index.html
Поэтому вопрос в том, как я могу направить все запросы на один и тот же ресурс?
2 ответа
Наконец-то удалось разобраться. Использование ReplaceKeyPrefixWith на самом деле не перенаправляет страницу, а просто направляет ее к нужному месту назначения. Использование KeyPrefixEquals со значением "/" означает, что все запросы будут перенаправлены, кроме index.html.
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>index.html</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
Не могу сказать, что у меня большой опыт в этом, но это интересная идея для создания одностраничного веб-приложения. Взгляните на это для переадресации. Также рассмотрите возможность использования Cloudfront для обслуживания вашего CSS.