Redirect 在IIS7中重写地图-不重定向

Redirect 在IIS7中重写地图-不重定向,redirect,iis-7,url-rewrite-module,Redirect,Iis 7,Url Rewrite Module,我试图使用一个单独的配置文件,名为“rewritemaps.config”,其中包含我想要重定向的URL。该文件位于根目录中(与web.config位于同一位置)。我拥有的Redirects.config文件的格式为: 在我的web.config文件中,我有: 在IIS管理器中(是的,我安装了URL重写模块),我甚至在redirects.config文件中对我的一个URL测试了规则和条件,它说它可以工作。但是,当我尝试在浏览器中访问URL时,它不会按照我指定的方式重定向。在rewrite

我试图使用一个单独的配置文件,名为“rewritemaps.config”,其中包含我想要重定向的URL。该文件位于根目录中(与web.config位于同一位置)。我拥有的Redirects.config文件的格式为:


在我的web.config文件中,我有:



在IIS管理器中(是的,我安装了URL重写模块),我甚至在redirects.config文件中对我的一个URL测试了规则和条件,它说它可以工作。但是,当我尝试在浏览器中访问URL时,它不会按照我指定的方式重定向。在rewritemaps.config文件中,我尝试将完整的域放在aspx之前,并尝试使用“/”。似乎什么都不管用。我不确定我在这里遗漏了什么。

很难确定失败的原因,但最好的办法是使用失败的请求跟踪,以便IIS告诉您发生了什么。使用FREB,您将获得详细的跟踪,告诉您哪些规则被评估,它们是否匹配,以及为什么不匹配。您还可以看到要匹配的“正确”模式以及所评估的每个条件

请参阅以下链接:

我让它工作了。那是件愚蠢的事。在rewritemaps.config文件中,我在键URL之前需要“/”s。我知道我以前试过,但当时我肯定在别的地方错过了什么。哦,好吧。它现在可以工作了。

我做到了,我想它说明了失败的地方,但我仍然不知道为什么。它似乎与规则模式匹配相匹配(即,“
模式匹配
表示
Matched=“true”
。但是条件求值失败(
条件求值结束
successed=“false”
).正如我所提到的,当我获取请求的URL并在IIS中的模式中测试它时,它会说它与模式匹配(基本上,当我测试它时,“aspx/drvmain.aspx”匹配“(.+)”,但不是在它实际通过浏览器运行时)。如果这有助于你感觉更好,我上周自己也做了同样的事情:)rewritemaps.config文件可能会被大量缓存,因此对其进行更改并不总是有效的。请确保在进行更改后回收应用程序池(例如“touch”web.config)。