2016-04-24 64 views
0

我運行最近添加了AWS Load Balancer的在線服務。IIS重寫 - 添加WWW但不添加到子域名

之前,一切都在沒有www的域上運行,但由於AWS ELB可以更改其IP,所以我們必須使用CNAME記錄而不是A記錄運行設置。 CNAME記錄無法指向根域。所以我必須重寫所有內容到www。

我們有多個客戶,其中約50%使用他們自己的域名,其餘的域名作爲子域名運行。

我需要的是:

example.com -> www.example.com 
www.example.com -> www.example.com 
customer1.ourdomain.com --> customer1.ourdomain.com 
customer2.ourdomain.com --> customer2.ourdomain.com 

我不是在web.config中IIS重寫設置規則是最好的,但我希望有人能指點正確的解決方案。

以前我們一直在用這個去除www,但現在我需要相反的。

<rule name="Remove www" stopProcessing="true"> 
     <match url="(.*)" ignoreCase="true" /> 
     <conditions logicalGrouping="MatchAll"> 
     <add input="{HTTP_HOST}" pattern="^www\.(.+)$" /> 
     </conditions> 
     <action type="Redirect" url="http://{C:1}/{R:0}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 

一切正在運行http(現在)。

回答

0
<rule name="Add www"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^ourdomain\.com" /> 
     </conditions> 
     <action type="Redirect" url="http://www.{HTTP_HOST}{UNENCODED_URL}" redirectType="Permanent" /> 
    </rule>