子文件夹路径的IIS重写规则
我在不同的服务器上托管了几个网站,并且我在前端服务器上使用IIS 10+url重写作为反向代理 重定向如下所示:子文件夹路径的IIS重写规则,iis,url-rewriting,reverse-proxy,Iis,Url Rewriting,Reverse Proxy,我在不同的服务器上托管了几个网站,并且我在前端服务器上使用IIS 10+url重写作为反向代理 重定向如下所示: www.example.com重写到服务器A: siteB.example.com重写到服务器B: siteC.example.com重写到服务器C: 此方案只允许我为所有子域网站管理一个证书 这在具有条件匹配规则的子域上运行良好 现在,我想从一个子目录执行重写规则,将整个站点D映射到该子目录 例如: www.example.com/siteD重写到服务器D: 该站点重定向了
- www.example.com重写到服务器A:
- siteB.example.com重写到服务器B:
- siteC.example.com重写到服务器C:
- www.example.com/siteD重写到服务器D:
<rule name="www.example.com_site_d" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{HTTP_HOST}" pattern="^www.example.com$" />
<add input="{REQUEST_URI}" pattern="^(/siteD/)(.*)$" />
</conditions>
<action type="Rewrite" url="http://myinternalsited:80/{C:2}" logRewrittenUrl="true" />
谢谢据我所知,REQUEST\u URI表示带有querystring的整个URL路径 如果请求URI是
/siteD/test?q=IIS+url+rewrite
,C:2的结果是:test?q=IIS+url+rewrite
结果:
如果请求的URI是
/siteD?q=IIS+url+rewrite
,则条件将不匹配。我得出了相同的结论,但siteD与rewrite{C:2}的工作方式不符合预期。与重写不同,{R:1}将从子域方案工作。我发现有一种方法可以通过“重写地图”来实现,这是更好的解决方案吗?