我有两个进程/应用程序在端口 8888 和端口 8890 上运行。
我可以在我的 Windows 服务器中访问它们http://本地主机:8888&http://本地主机:8890。
我目前正在使用 IIS GUI 重写 URL。已安装应用程序请求路由 (ARR) 和 URL 重写。
我已经成功地重写或重定向所有到达服务器到一个端口的请求——本质上我将“*”通配符映射到“http://本地主机:8888/{R:0}'并且当我访问时它可以工作http://网站!
我如何将其扩展到以下场景:
http://网站/solution1/应重定向到端口 8888 & http://网站/solution2/应重定向到端口 8890
请帮忙。
答案1
类似这样的操作(在你的 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>
如果我没记错的话,{R:0}
将匹配整个 URL,所以你在本例中不希望出现这种情况。相反,使用(
你)
定义的“捕获组”;{R:2}
将是一切之后solution1/
或solution2/
。
如果您打算使用 IIS GUI,我希望您能够找到需要填写的字段;它们与您已经使用的字段相同,只是参数不同。