IIS重写规则以获取没有tld的域

时间:2016-09-02 18:36:33

标签: url-rewriting iis-7.5

希望创建一个有效的IIS重写(非重定向)规则,将http {s}:// www。 client1 .com / page1.htm重写为https:// client1 .mysite.com / myapp / client1 /page1.htm - 我无法让它正常运行。让我有点生气。

我的主要问题是获取域名而不将TLD部分作为R {x}或C {x}参数返回...

请注意,客户端名称位于目标网址的两个位置 - 请注意,原始网址可能是 client2.com client3.org client4达网络

1 个答案:

答案 0 :(得分:0)

此规则将为您重写:

<rules>
    <rule name="Rewrite clients domains" enabled="true" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
              <add input="{HTTP_HOST}" pattern="^(www\.)?([a-zA-Z0-9\-\.]+)\.(\w+)$" />
        </conditions>
        <action type="Rewrite" url="{MapProtocol:{HTTPS}}://{C:2}.mysite.com/myapp/{C:2}/{R:0}" />
    </rule>
</rules>
<rewriteMaps>
    <rewriteMap name="MapProtocol">
        <add key="on" value="https" />
        <add key="off" value="http" />
    </rewriteMap>
</rewriteMaps>