2009-06-24 33 views
1

我已经为我们的静态内容子域编写了一些规则,以便当它们进入IIS时,它们被重定向到我们的www。子域。针对静态内容域的IIS重定向规则

原因是我们有几个子域名被谷歌索引。但是,当我创建网址时,我仍然可以在img1.mydomain.com上查看文件,状态码为200,而不是我所期望的301。

我做错了什么?

<!-- Force img domains and non-www users to point at www. --> 
<rule name="redirectImgJsAndNonWww" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions> 
    <add input="{HTTP_HOST}" pattern="^img1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img3.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js3.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^mydomain.com$" /> 
    </conditions> 
    <action type="Redirect" url="www.mydomain.com/{R:0}" redirectType="Permanent" /> 
</rule> 

非常感谢您的帮助。

更新:看来我错过了logicalGrouping标志,它将我的规则设置为“MatchAll”。

<rule name="Redirect to WWW" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions logicalGrouping="MatchAny"> 
    <add input="{HTTP_HOST}" pattern="^mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img3.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js3.mydomain.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.mydomain.com/{R:0}" redirectType="Permanent" /> 
</rule> 

回答

0

现在已经回答了这个问题。

看来我错过了logicalGrouping标志,它将我的规则设置为“MatchAll”。

<rule name="Redirect to WWW" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions logicalGrouping="MatchAny"> 
    <add input="{HTTP_HOST}" pattern="^mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^img3.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js1.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js2.mydomain.com$" /> 
    <add input="{HTTP_HOST}" pattern="^js3.mydomain.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.mydomain.com/{R:0}" redirectType="Permanent" /> 
</rule>