1

我正在尝试使用AWS Route 53和S3根据我发现的其他一些文章执行以下操作:AWS Route 53/S3桶全部重定向到一个URL

oldsite.com/* to newsite。我想将所有oldsite.com和任何路径重定向到newsite.com/page的单一网址。

下面的文章两者都接近,但他们给我了以下几点:

oldsite.com/*到newsite.com/page/*,这将可能导致newsite.com/404

为了进一步澄清:

我不想oldsite.com/foo重定向到newsite.com/page/foo

我想oldsite.com/foo重定向到newsite.com/page

引用了/ *到/ *而不是/ *到/ static的引用文章。

Set up DNS based URL forwarding in Amazon Route53

http://www.holovaty.com/writing/aws-domain-redirection/

回答

1

不明确配置桶重定向到另一台主机的所有请求。

为静态网站托管配置存储桶,然后创建与403 Forbidden匹配的路由规则(因为S3默认情况下拒绝所有内容)并指出您想要的内容。

<RoutingRules> 
<RoutingRule> 
    <Condition> 
    <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals> 
    </Condition> 
    <Redirect> 
    <HostName>target.example.com</HostName> 
    <ReplaceKeyWith>static</ReplaceKeyWith> 
    </Redirect> 
</RoutingRule> 
</RoutingRules> 

所有请求应重定向到http://target.example.com/static

请注意,<ReplaceKeyWith>省略了前导斜杠。

+0

这很好,谢谢!虽然有一个小小的修正,但你错过了上的关闭元素。需要

+0

@ChrisDeal谢谢。固定。在android手机键盘上书写XML ......不推荐。 :) –

+0

@ Michael-sqlbot,它工作得很好!谢谢!但为什么403条件是必要的?完全不了解。 – Yahya