【问题标题】:IIS Rewrite rule for a subfolder path子文件夹路径的 IIS 重写规则
【发布时间】:2020-02-17 10:24:32
【问题描述】:

我在不同的服务器上托管了几个网站,并且我在前端服务器上使用 IIS 10 + url rewrite 仅作为反向代理。

重定向如下:

  • www.example.com 重写到服务器 A:
  • siteB.example.com 重写到服务器 B:
  • siteC.example.com 重写到服务器 C:

此方案允许我只为我的所有子域网站管理一个证书

这在具有条件匹配规则的子域上运行良好。

现在我想从子目录执行重写规则,将整个站点 D 映射到该子目录。

示例:

  • www.example.com/siteD 重写到服务器 D:

该网站重定向了第一页,但外观看起来很奇怪,并且链接不起作用。

用条件 {C:2} 处理它是正确的方法还是应该将模式应用于匹配 url?

这是我的 web.config:

<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" />

谢谢

【问题讨论】:

    标签: iis url-rewriting reverse-proxy


    【解决方案1】:

    据我所知,REQUEST_URI 表示带有查询字符串的整个 URL 路径。

    如果REQUEST_URI是/siteD/test?q=IIS+url+rewrite,那么C:2的结果就是:test?q=IIS+url+rewrite

    结果:

    如果REQUEST_URI是/siteD?q=IIS+url+rewrite,则条件不匹配。

    【讨论】:

    猜你喜欢
    • 2014-04-08
    • 2015-08-26
    • 2018-09-04
    • 2020-08-19
    • 2023-03-26
    • 2020-09-30
    • 2018-09-18
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多