Построение правила перенаправления IIS для перенаправления страницы продукта на новый URL-адрес с передачей идентификатора продукта - PullRequest
1 голос
/ 01 июля 2019

Я пытаюсь использовать механизм правил URL в IIS 7 для перенаправления наших текущих страниц продукта на наши новые страницы продукта.

Старые страницы:

example.com/itemform.aspx?item=X12878
example.com/itemform.aspx?item=Y87304&showmenu=T

Новый URL

example.com/c/product/X12878
example.com/c/product/Y87304

1009 * Покушение * <rule name="Product Page Redirect"> <match url="/itemform\.aspx\?item=([.a-zA-Z0-9]+)$" /> <action type="Redirect" url="https://ccstore-prod-zb3a.oracleoutsourcing.com/x/product/{C:1}" redirectType="Permanent" /> </rule> Полное правило переписывания с предложением Эммы

<rewrite>
  <rules>           
    <rule name="Product Page Redirect" stopProcessing="true">
      <match url="/itemform\.aspx\?item=([A-Za-z0-9.]+)" />
      <conditions>
      </conditions>
      <action type="Redirect" url="https://ccstore-prod-zb3a.oracleoutsourcing.com/x/product/{R:1}" appendQueryString="false" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

Ответы [ 2 ]

2 голосов
/ 01 июля 2019

Согласно вашему описанию, если вы хотите использовать перезапись URL-адреса для получения правильной строки запроса.

Подробнее, вы можете обратиться к следующим кодам:

            <rule name="QueryStringRue" enabled="true" stopProcessing="true">
                <match url="itemform.aspx" />
                <conditions>
                    <add input="{QUERY_STRING}" pattern="^item=([0-9a-zA-Z]*)" />
                </conditions>
                <action type="Redirect" url="http://example.com/c/product/{C:1}" appendQueryString="false" />
            </rule>

Результат:

enter image description here

0 голосов
/ 01 июля 2019

Я предполагаю, что, возможно, удаление конца $ якоря может просто сделать совпадение действительным:

<rule name="Product Page Redirect">
  <match url="/itemform\.aspx\?item=([A-Za-z0-9.]+)" />
  <action type="Redirect" url="https://ccstore-prod-zb3a.oracleoutsourcing.com/x/product/{C:1}" redirectType="Permanent" />
</rule>

но, возможно, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...