1

Например, я хотел бы перенаправить http://my-site.com/blog/post1 на http://blog.my-site.com/post1. Я пытался найти ответ в другом месте, но он всегда идет в обратном направлении (перенаправление из поддомена в путь).Как перенаправить запросы в субдомен по их пути с помощью Amazon S3

Если возможно, я хотел бы сделать это исключительно с S3, поэтому нам не нужно настраивать балансировщик нагрузки или прокси-сервер. В нашем случае https://my-site.com будет развернут с помощью статического веб-хостинга S3 за распределением Cloudfront. Есть ли способ настроить правила перенаправления S3 для перенаправления запросов на субдомен по их пути?

ответ

0

Тот факт, что вы перенаправляетесь на субдомен, не имеет большого значения, и «на основе их пути» в значительной степени зависит от того, как работают правила перенаправления маршрутизации на S3.

<RoutingRules> 
    <!-- example.com/blog --> 
    <RoutingRule> 
     <Condition> 
      <!-- no/goes here --> 
      <KeyEquals>blog</KeyEquals> 
     </Condition> 
     <Redirect> 
      <ReplaceKeyWith/> <!-- nothing --> 
      <Protocol>http</Protocol> 
      <HostName>blog.example.com</HostName> 
     </Redirect> 
    </RoutingRule> 
    <!-- example.com/blog/* --> 
    <RoutingRule> 
     <Condition> 
      <!-- note the/is after, not before, blog --> 
      <KeyPrefixEquals>blog/</KeyPrefixEquals> 
     </Condition> 
     <Redirect> 
      <ReplaceKeyPrefixWith/> <!-- nothing --> 
      <Protocol>http</Protocol> 
      <HostName>blog.example.com</HostName> 
     </Redirect> 
    </RoutingRule> 
</RoutingRules> 

http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html#configure-bucket-as-website-routing-rule-syntax