Regex URL重写IIS 8.5中的同一主机不同端口
我的服务器有三个网站:Regex URL重写IIS 8.5中的同一主机不同端口,regex,iis,url-rewriting,Regex,Iis,Url Rewriting,我的服务器有三个网站: 默认网站,端口80(无内容) 网站A,端口81 网站B,端口82 我想使用URL重写访问网站A和网站B,如: 而不是 我已经安装了URL重写和应用程序请求路由模块,并启用了ARR代理 在默认网站上,我使用regex模式/A/(.*)和/B/(.*)创建了两个重写规则: 使用测试功能,我的测试URL无法匹配该模式,但当我尝试使用新模式访问站点时,它成功了 问题:我将采用后面的解决方案,但这是否纯粹是运气使然,我是否应该做些不同的事情 测试功能无法成功匹配我将它们
- 默认网站,端口80(无内容)
- 网站A,端口81
- 网站B,端口82
而不是
我已经安装了
URL重写
和应用程序请求路由
模块,并启用了ARR代理
在默认网站上,我使用regex模式/A/(.*)
和/B/(.*)
创建了两个重写规则:
使用测试功能,我的测试URL无法匹配该模式,但当我尝试使用新模式访问站点时,它成功了
问题:我将采用后面的解决方案,但这是否纯粹是运气使然,我是否应该做些不同的事情
测试功能无法成功匹配我将它们提供给服务器时使用的相同URL是否正常?如果不想透露实际使用的规则,则必须自行调试。我这里有一篇关于ARR的相关但不完全匹配的文章,@Lex Li,我已经更新了我的问题,以显示实际的重写规则。如果您不想透露您使用的实际规则,那么您必须自己调试。我这里有一篇关于ARR的相关但不完全匹配的文章,@Lex Li,我已经更新了我的问题,以显示实际的重写规则。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WebsiteA" stopProcessing="true">
<match url="/A/(.*)" />
<action type="Rewrite" url="http://localhost:81/{R:1}" />
</rule>
<rule name="WebsiteB" stopProcessing="true">
<match url="/B/(.*)" />
<action type="Rewrite" url="http://localhost:82/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WebsiteA" stopProcessing="true">
<match url="^A(.*)$" />
<action type="Rewrite" url="http://localhost:81/{R:1}" />
</rule>
<rule name="WebsiteB" stopProcessing="true">
<match url="^B(.*)$" />
<action type="Rewrite" url="http://localhost:82/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>