我运行的是一项在线服务,我最近添加了一个AWS Load Balancer。
之前,一切都在没有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 :(得分: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>