迁移到 IIS 8.5 后重写不再工作

Rewrite not working anymore after moving to IIS 8.5

我在 IIS 中配置了 2 个站点,其中一个站点针对特定的子路径重写到另一个站点。每个站点似乎都配置正确并且可以正常工作。

所以如果我调用 http://site2/some/path - 我得到了想要的结果,但是在调用 http://site1/api/some/path.

时我得到了 404.4

站点 1 web.config 中的重写规则如下所示:

<rule name="Rewrite API" enabled="true" stopProcessing="true">
    <match url="api/(.+)" />
    <action type="Rewrite" url="http://site2/{R:1}" appendQueryString="true" />
</rule>

有趣的是,如果我将操作类型设置为 Redirect,我实际上会被重定向,但这不是我想要实现的。

还值得一提:此设置在 IIS 7 下运行。

This answer actually was everything I needed to do, but I didn't find it over Google, only in the related questions section here

我所要做的就是在 IIS 中使用“Web 平台安装程序”安装“应用程序请求路由”,然后激活它以便能够反向代理。