配置301重定向的Amazon重定向规则

时间:2013-09-27 14:15:35

标签: .htaccess redirect amazon-web-services amazon-s3

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

我希望能够为其指向任何网址,并让它不仅可以在该网域上执行重定向,还可以保留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指向此存储桶。我的问题是,鉴于亚马逊的控件为我们提供了桶重定向,这可能吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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