2009-06-24 3 views
1

Я написал несколько правил для наших поддоменов статического контента, так что, когда они входят в IIS, они перенаправляются на наш www. поддомен.Правила перенаправления IIS для доменов статического контента

Причина в том, что у нас есть несколько поддоменов, индексированных Google. Однако, когда я создаю URL-адреса, я все еще могу просматривать файлы на 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> 

Большое спасибо за помощь.

Обновление: Похоже, что мне не хватало логический флаг группировки, который устанавливал мои правила в «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

Вопрос был дан ответ.

Похоже, что мне не хватало логический флаг группировки, который устанавливал мои правила в «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>