13

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

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

DNS 不喜欢这样解析子目录……有什么建议吗?

4

1 回答 1

17

如果我理解正确,您希望所有请求都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>

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

有关路由规则的更多信息,请查看官方文档: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.

就是这样——享受吧!

于 2013-07-22T02:01:29.773 回答