Несколько правил перезаписи URL IIS7 - PullRequest
1 голос
/ 02 сентября 2010

Я пытаюсь написать правила перезаписи URL IIS7, которые выполняют две вещи:

  • Если запрос на http, принудительно введите его https
  • Если URL имеет "www "в нем, удалите его и перенаправьте на другой URL

В обоих случаях я хочу перенаправить на https://my.domain.com (заменить реальное доменное имя)

У менянет проблем с правилом http для https.Также работает случай с http://www.my.domain.com до https://my.domain.com.Тем не менее, один случай, когда я не смог добраться до работы, это когда первоначальный запрос был https://www.my.domain.com

Вот что я имею сейчас:

<rule name="r2" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAll">
    <add input="{SERVER_PORT}" pattern="443" negate="false" matchType="Pattern" />
    <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" matchType="Pattern"  />        
  </conditions>
  <action type="Redirect" url="https://my.domain.com" />
</rule>

<rule name="r1" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAll">
    <add input="{SERVER_PORT}" pattern="443" negate="true" matchType="Pattern" />
    <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" matchType="Pattern"  />
  </conditions>
  <action type="Redirect" url="https://my.domain.com" />
</rule>

Любое представление о том, что янужно изменить, чтобы получить https://www.my.domain.com для перенаправления на https://my.domain.com?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2013

Попробуй это у меня работает

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="permalink">
                    <match url="article/(\D+)(\/)*$" />
                    <action type="Rewrite" url="http://mywebsite.com/article.aspx?id={R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
0 голосов
/ 02 сентября 2010

Это может работать для вас

<rule name="Canonical Host Name" stopProcessing="true">
  <match url="(.*)"/>
  <conditions>
    <add input="{HTTP_HOST}" pattern="https://mydomain.com$"/>
  </conditions>
  <action type="Redirect" url="https://www.mydomain.com/{R:1}" redirectType="Permanent"/>
</rule>
...