我在 IIS 7.5 上安装了“IIS 应用程序请求路由 (ARR) 2.5”和“IIS URL Rewrite 2.0”,以便为在 localhost 上侦听的程序创建反向代理/缓存。
问题:URL 重写不适用于绝对 URI,它仅适用于相对 URL。根据文档 [1],这是预期的行为,但示例 [2] 表明,如果启用了代理,重写也应该适用于绝对 URI。不幸的是,即使启用了代理,错误 (500.19 / 0x80070002) 也是相同的。我必须修改一些 IIS 设置吗?我使用 hosteurope.de 提供的默认安装。
这是 web.config 片段:
<rewrite>
<rules>
<rule name="test_FAIL" stopProcessing="true">
<match url="^test1/(.*)" />
<action type="Rewrite" url="http://google.com/{R:1}" />
</rule>
<rule name="test_OK" stopProcessing="true">
<match url="^test2/(.*)" />
<action type="Rewrite" url="/{R:1}" />
</rule>
</rules>
</rewrite>