IIS规则将某些路径重定向到另一个域

时间:2017-08-22 14:43:44

标签: iis url-rewriting

我正在寻找帮助为IIS编写URL重写规则。

我希望规则忽略以下内容 ttp:// localhost:8080 / myapp /somepag.html,并从IIS上运行的其他网站提供服务。

我想对以下内容进行URL重写 TTP://本地主机:8080 /的 theirApp /somepage.html 并将内容提供回浏览器,就像它来自localhost

一样

我知道第二位可以完成,因为我们用它来“反向代理”一个Restful web服务。我不知道如果我可以设置“他们的”条件

<rule name="Proxy" stopProcessing="true">
      <match url="^theirApp/([0-9]+)/([_0-9a-z-]+)/?$"/>
      <action type="Rewrite" url="http://www.theirApp.com/{R:1}" />
      <serverVariables>
        <set name="HTTP_X_UNPROXIED_URL" value="??????????" />
        <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
        <set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
        <set name="HTTP_ACCEPT_ENCODING" value="" />
      </serverVariables>
    </rule> 

我也试过了:

<rule name="all domains to www.domainB.com/my-folder" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^theirApp$" ignoreCase="true" /> 
      </conditions>
      <action type="Redirect" url="http://www.theirApp.com/{R:1}" />
    </rule>

我想到的R1是他们的应用之后的其余URL

全部谢谢

1 个答案:

答案 0 :(得分:0)

伙计,

问题不在于我使用的重写规则,因为我没有在Azure网站上正确配置IIS ARR模块Use Azure as a Reverse Proxy Helped me out.