我使用带有 URL 重写模块的 IIS7,但无法使其正常工作。规则在 web.config 中如下所示
<rewrite>
<rules>
<rule name="Redirect to new enviroment" stopProcessing="true">
<match url="default.aspx" />
<action type="Redirect" url="http://www.example.se/play?id={C1}" appendQueryString="false" redirectType="Permanent" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{QUERY_STRING}" pattern=".*id=(.*)&.*" />
</conditions>
<serverVariables>
</serverVariables>
</rule>
</rules>
</rewrite>
传入的 URL 是
http://www.example2.se/player/default.aspx?id=37185&metadatalanguageId=1
结果是我被重定向到
http://www.example.se/play?id=
因此结果中缺少 id (37185)。当我在 IIS 管理器中使用测试模式时,它看起来没问题,并说反向引用 {C:1} 应该包含 id。我遗漏了什么???我尝试使用“失败请求跟踪规则”,但一切看起来都应该有效。
答案1
您的规则似乎使用 {C1},但它应该包含冒号,例如 {C:1}