1

我在 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>

[1] - http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Rewrite_action

[2] - http://www.iis.net/learn/extensions/url-rewrite-module/reverse-proxy-with-url-rewrite-v2-and-application-request-routing

4

1 回答 1

1

错误 500.19 / 0x80070002 是由不存在的缓存目录引起的。还必须创建缓存目录,仅指定路径是不够的!

于 2012-10-20T16:59:16.793 回答