IIS Rewrite на основе значения строки запроса - PullRequest
0 голосов
/ 22 апреля 2019

Я новичок в IIS Rewrite, Нужен кто-то, чтобы помочь мне,

Я нахожусь в сценарии для перенаправления в другой домен на основе значения строки запроса.

Пример:

Запрос:

http://localhost:50743/api/Values?stdId=1000&stdName="Test"

http://localhost:50752/api/Values?stdId=1001&stdName="Test1"

http://localhost:50753/api/Values?stdId=1002&stdName="Test2"

http://localhost:50754/api/Values?stdId=1004&stdName="Test4"

Мне просто нужно проверить строку запроса и перенаправить запрос на другой домен на основе stdId значение

, если stdId =1000 запрос должен быть перенаправлен на http://localhost:50743/api/Values?stdId=1000&stdName="Test"

, если stdId = 1001 запрос должен быть перенаправлен на http://localhost:50752/api/Values?stdId=1001&stdName="Test1"

, если stdId =1002 запрос должен быть перенаправлен на http://localhost:50753/api/Values?stdId=1002&stdName="Test1"

и т. Д.,

Код, который я пробовал:

<rewrite>
      <rules>
        <rule name="Redirect to another service" stopProcessing="true">
          <match url="(.*)" />
          <conditions>                
            <add input="{QUERY_STRING}" negate="false" pattern="(stdId=1000)" />
          </conditions>
          <action type="Redirect" url="http://localhost:50762/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
</rewrite>

1 Ответ

0 голосов
/ 22 апреля 2019

Вы можете использовать приведенное ниже правило для перенаправления URL на основе строки запроса:

<rule name="querystring redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="stdId=1000" />
</conditions>
<action type="Redirect" url="http://localhost:50743/api/Values?stdId=1000&amp;stdName=&quot;Test&quot;" appendQueryString="false" />
</rule>

enter image description here

Создать правило для каждого параметра строки запроса URL. С Уважением, Jalpa.

...