У меня есть два процесса / приложения, работающие на порте 8888 и порту 8890.
Я могу получить к ним доступ на своем сервере Windows с помощью http: // локальный: 8888 & http: // локальный: 8890.
В настоящее время я использую графический интерфейс IIS для перезаписи URL-адресов. Установлены маршрутизация запросов приложений (ARR) и перезапись URL.
Мне удалось переписать или перенаправить все запросы, которые попадают на сервер, на один порт - по сути, я сопоставляю подстановочный знак '*' с 'http: // локальный: 8888 /{R: 0} ', и он работает, когда я открываю http: // сайт!
Как я могу распространить это на следующий сценарий:
http: // сайт / решение1 / должен перенаправить на порт 8888 & http: // сайт / решение2 / должен перенаправить на порт 8890
Пожалуйста помоги.
Что-то вроде этого (в вашем web.config) должно работать:
<rule name="solution1" stopProcessing="true">
<match url="^(solution1/)(.*)" />
<action type="Rewrite" url="http://localhost:8888/{R:2}" />
</rule>
<rule name="solution2" stopProcessing="true">
<match url="^(solution2/)(.*)" />
<action type="Rewrite" url="http://localhost:8890/{R:2}" />
</rule>
IIRC, {R:0}
будет соответствовать всему URL-адресу, поэтому в этом случае вам это не нужно. Вместо этого с (
и )
вы определяете «группы захвата»; {R:2}
будет все после solution1/
или solution2/
.
Если вы настроены на использование графического интерфейса IIS, я надеюсь, что вы сможете найти поля, которые необходимо заполнить; это те же самые, что вы уже используете, только с другими параметрами.