0

我的计划是使用单个 Amazon Bucket 进行从 www 域到非 www 的 301 重定向。域。

我希望能够将任何 URL 指向它,并让它不仅在该域上执行重定向,而且还保留directioy 路径:

www.site.com/test -> site.com/test

重定向规则可以在这里找到:http: //docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html

这是一般设置的样子:

RoutingRules> =
    <RoutingRules>
         <RoutingRule>...</RoutingRule>
         [<RoutingRule>...</RoutingRule>   
         ...]
    </RoutingRules>

<RoutingRule> =
   <RoutingRule>
      [ <Condition>...</Condition> ]
      <Redirect>...</Redirect>
   </RoutingRule>

<Condition> =
   <Condition> 
      [ <KeyPrefixEquals>...</KeyPrefixEquals> ]
      [ <HttpErrorCodeReturnedEquals>...</HttpErrorCodeReturnedEquals> ]
   </Condition>
    Note: <Condition> must has at least one child element.

<Redirect> =
   <Redirect> 
      [ <HostName>...</HostName> ]
      [ <Protocol>...</Protocol> ]
      [ <ReplaceKeyPrefixWith>...</ReplaceKeyPrefixWith>  ]
      [ <ReplaceKeyWith>...</ReplaceKeyWith> ]
      [ <HttpRedirectCode>...</HttpRedirectCode> ]
   </Redirect>
    Note: <Redirect> must has at least one child element. 
           Also, you can have either ReplaceKeyPrefix with or ReplaceKeyWith, 
           but not both.

我会将我的 www CNAME 指向这个存储桶。我的问题是,鉴于亚马逊为我们提供的桶重定向控制,这可能吗?

4

2 回答 2

0

您不能使用单个存储桶并将多个域指向它。使用 S3,一个自定义域 = 一个唯一存储桶,因为存储桶的名称必须与您要使用的自定义 CNAME 匹配。

于 2013-09-27T15:36:42.307 回答
0

@dcro 准确地指出,它严格来说是每个存储桶一个域名,因为存储桶名称必须与域名完全匹配。

如果您在该约束内操作,那么将每个请求重定向到不同主机上的同一路径很简单......您所做的就是选择“将所有请求重定向到另一个主机名”(在控制台中,如您链接到的页面上所述) 这就是 S3 所做的,不需要规则配置。

每个请求都被重定向到指定主机、查询字符串和所有的完全相同的路径。来自我的一个存储桶的实际请求,已清理主机名,但路径 /foo/bar 在实际请求中,并保留在Location:标头中:

$ wget --server-response original.example.com/foo/bar -O -
--2013-09-27 17:47:16--  http://original.example.com/foo/bar
Resolving original.example.com (original.example.com)... x.x.x.x
Connecting to original.example.com (original.example.com)|x.x.x.x|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 301 Moved Permanently
  x-amz-id-2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  x-amz-request-id: xxxxxxxxxxxxxxxx
  Date: Fri, 27 Sep 2013 21:47:18 GMT
  Location: http://target.example.com/foo/bar
  Content-Length: 0
  Server: AmazonS3
于 2013-09-27T21:46:11.323 回答