获取要在IIS中用于重写模块的出站规则中使用的URL的一部分
问题描述:
有没有办法在出站规则中捕获部分URL以用作重写的值?获取要在IIS中用于重写模块的出站规则中使用的URL的一部分
现在,我正在使用一个前提条件,在那里我对{REQUEST_URI}有一个模式输入。我想在使用此前提条件的出站规则中使用请求URI中的捕获组。我尝试了{C:1},但没有奏效。
前提条件:
<preCondition name="Html Response" logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" pattern="myapp(.*)" />
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^(text/html)" />
</preCondition>
外向规则:
<rule name="ResponseRewriteRelative" preCondition="Html Response" stopProcessing="true">
<match filterByTags="A, Link" pattern="^/(.*)" />
<action type="Rewrite" value="{C:1}/{R:1}" />
</rule>
其中{C:1}是从前提捕获基团 “的myapp(*)。”
因此,它'd从 http://myapp40.com 重写链接的响应类似于 40/originalrelativelink
谢谢!
答
我刚刚发现可以向出站规则本身添加一个条件。只是回答这里万一有任何其他人的无能与重写规则:)挣扎
规则看起来是这样的:
<rule name="ResponseRewriteRelative" preCondition="Html Response" stopProcessing="true">
<match filterByTags="A, Link" pattern="^/(.*)" />
<action type="Rewrite" value="{C:1}/{R:1}" />
<conditions>
<add input="{REQUEST_URI}" pattern="myapp(.*)" />
</conditions>
</rule>
+0
只是一个请求。我是iis重写规则中的新成员。所以我有一些问题,并张贴在这里。请你看看我的问题。 url是https://stackoverflow.com/questions/47474674/iis-rewrite-rule-change-my-current-aspx-page-hyperlink-href-wrong-way – Thomas
你可以编辑你的问题,包括重写应该如何工作的例子吗? –
@CyrilDurand完成 – aggFTW