迁移到 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 平台安装程序”安装“应用程序请求路由”,然后激活它以便能够反向代理。
我在 IIS 中配置了 2 个站点,其中一个站点针对特定的子路径重写到另一个站点。每个站点似乎都配置正确并且可以正常工作。
所以如果我调用 http://site2/some/path
- 我得到了想要的结果,但是在调用 http://site1/api/some/path
.
站点 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 平台安装程序”安装“应用程序请求路由”,然后激活它以便能够反向代理。