将子域URL重定向到Amazon AWS上的URL子目录

sea*_*6.2 10 amazon-s3 amazon-web-services amazon-route53

我们通过AWS上的Route 53创建了一个指向外部服务器的子域.我们现在想要将该流量重定向回主域,但是重定向到子目录.

shop.mydomain.com将重定向到mydomain.com/shop

DNS不喜欢像这样解析子目录......任何建议?

sec*_*ike 14

如果我理解正确,您希望所有请求shop.mydomain.com重定向到mydomain.com/shop.

在这种情况下,我建议使用S3的"重定向规则".

在S3中创建一个名为的存储桶shop.mydomain.com.打开存储桶属性并将存储桶设置为"启用网站托管".然后选择"编辑重定向规则"选项.

AWS控制台编辑重定向规则屏幕截图

我们现在需要定义一个匹配每个请求的重定向规则,并将其重定向到 mydomain.com/shop

<RoutingRules>
  <RoutingRule>
    <Redirect>
      <Protocol>https</Protocol>
      <HostName>mydomain.com</HostName>
      <ReplaceKeyPrefixWith>shop/</ReplaceKeyPrefixWith>
      <HttpRedirectCode>301</HttpRedirectCode>
    </Redirect>
  </RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)

此规则将匹配每个请求并重定向它.

有关路由规则的更多信息,请查看官方文档:http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html#configure-bucket-as-website-routing-rule-syntax

现在,您需要shop.mydomain.com在Amazon Route 53中配置为ALIAS指向刚创建的存储桶的记录shop.mydomain.com.

就是这样 - 享受!

  • 我相信你最好的选择是使用CloudFront.它支持不同的路由规则,因此您可以将`mydomain.com/blog`指向您的wordpress博客,并将其他所有内容指向您的S3存储桶.由于云端代理请求,您的用户将看不到任何分离 - 一切都将看起来像mydomain.com下的单个站点 (5认同)