2013-07-18 61 views
10

我們在AWS上通過Route 53創建了一個子域,指向外部服務器。我們現在想要將該流量重定向回主域,但要重定向到一個子目錄。將亞馬遜AWS上的子域URL重定向到URL子目錄

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

DNS不喜歡解決子目錄這樣的...有什麼建議?

回答

13

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

在這種情況下,我建議使用S3的「重定向規則」。

在S3中創建一個桶,名爲shop.mydomain.com。打開存儲桶屬性並將存儲桶設置爲「啓用網站託管」。然後選擇「編輯重定向規則」選項。

AWS Console Edit Redirection Rules Screenshot

現在,我們需要定義每個請求匹配的重定向規則,並重定向到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

現在,你需要在亞馬遜路線53配置shop.mydomain.com如您剛纔創建的水桶,shop.mydomain.com一個ALIAS記錄指向。

就是這樣 - 享受!

+0

有什麼辦法讓Amazon S3存儲桶的子文件夾重定向到外部服務器嗎?例如。我試圖讓mydomain.com/blog轉發到外部Wordpress服務器,但將域名保留爲mydomain.com/blog。我知道這可以用子域來完成,但我更願意使用子文件夾。我有我的Wordpress在另一臺單獨的服務器上,因爲S3託管不支持WP(CGI/PHP /等) – evolross

+4

我相信你最好的選擇是使用CloudFront。它支持不同的路由規則,因此您可以將'mydomain.com/blog'指向您的WordPress博客,以及其他所有內容到您的S3存儲桶。由於雲端代理請求,您的用戶將不會看到任何分離 - 所有內容看起來像mydomain.com下的單個站點 – secretmike

+0

@secretmike這聽起來像一個有趣的選項。你能發佈更多關於如何做到這一點的信息,或者鏈接到建議的解決方案嗎? – modulitos