【发布时间】:2013-02-27 18:09:05
【问题描述】:
我曾尝试使用 Rewrite Module 2.0 进行 URL 重写,但我没有让它工作。我正在尝试做的是将端口 80 对 Web 应用程序的所有调用重新写入 IIS 中托管的其他应用程序(或者可能在网络上的不同服务器上)。使用 IIS 提供的 GUI,我创建了以下规则:
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="site1/(.*)" />
<action type="Rewrite" url="http://localhost:7001/{R:1}" />
</rule>
</rules>
</rewrite>
安静简单,但不幸的是它不起作用。另一方面,当我将操作类型更改为Redirect 时,它工作正常。
可能是什么问题?
【问题讨论】:
-
你能定义“不工作”吗?我的意思是,实际发生了什么?
-
你在使用Application Request Routing吗?作为测试,如果将
type="Rewrite"更改为type="Redirect"会怎样? -
@cheesemacfly 是的,我正在使用应用程序请求路由。当我将其更改为
Redirect时,它确实有效并将我重定向到目标网址。但是当使用Rewrite时出现404 错误。 -
你已经在应用请求路由上启用了代理模式?
-
@cheesemacfly:是的,我当然做到了。
标签: asp.net .net iis url-rewriting url-rewrite-module