Образец перенаправления IIS7 - PullRequest
0 голосов
/ 15 марта 2012

Использование IIS7 с модулем перезаписи для создания перенаправления

URL запроса источника: http://www.domain.com/term/code.html?Product=55824 Следует перенаправить на http://www.domain.com/product/55824

Текущее правило (не работает)

<rule name="PatternRedirect" stopProcessing="true">
          <match url="term/([a-z]+)(.*)Product=([0-9]+)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="www.domain.com$" />
          </conditions>
          <action type="Redirect" url="http://www.domain.com/product/{R:3}"
            redirectType="Permanent" />
</rule>

Есть идеи, почему вышеприведенное не работает?

Спасибо

1 Ответ

1 голос
/ 15 марта 2012

Строка запроса не включена в основную строку соответствия, вы должны использовать Условия для ее оценки.

<rule name="PatternRedirect" stopProcessing="true">
          <match url="^term/.*" />
          <conditions  trackAllCaptures="true">
            <add input="{QUERY_STRING}" pattern="Product=([0-9]+)" />         
            <add input="{HTTP_HOST}" pattern="^www.domain.com$" />
          </conditions>
          <action type="Redirect" url="http://www.domain.com/product/{C:1}"
            redirectType="Permanent" />
</rule>
...