Intelligencia.UrlRewriter能否在IIS7中工作?

Intelligencia.UrlRewriter能否在IIS7中工作?,iis,iis-7,url-rewriting,Iis,Iis 7,Url Rewriting,我们继承了一个使用Intelligencia.UrlRewriter模块的应用程序。我们的环境是IIS7。我们已经将我们的站点设置为在经典的asp.net应用程序池中运行(它可以很好地解决许多此类问题)。然而,我们仍然没有看到应用程序中的URL被重写 有人遇到过这个问题吗?是的,我在Win Vista&IIS7下运行Intelligencia.UrlRewriter模块时遇到了完全相同的问题,但是切换到经典的asp.net应用程序池确实解决了这个问题。您是否在新的虚拟目录中运行应用程序?这有时会

我们继承了一个使用Intelligencia.UrlRewriter模块的应用程序。我们的环境是IIS7。我们已经将我们的站点设置为在经典的asp.net应用程序池中运行(它可以很好地解决许多此类问题)。然而,我们仍然没有看到应用程序中的URL被重写


有人遇到过这个问题吗?

是的,我在Win Vista&IIS7下运行Intelligencia.UrlRewriter模块时遇到了完全相同的问题,但是切换到经典的asp.net应用程序池确实解决了这个问题。您是否在新的虚拟目录中运行应用程序?这有时会弄乱应用程序的根路径,这可能会改变web.config中的规则。您需要在system.webServer元素上定义配置,如:

    <system.webServer>
         <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRewriter" 
   type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
        </modules>
    </system.webServer>

另外,我一直在使用它,没有任何问题,只要配置是在


更新1:还要检查,特别是“方法3:使用HttpModule使用IIS7执行无扩展URL重写”,因为我添加的配置具有无扩展配置。

我发现了同样的问题,经过几次尝试,我发现将asp模式更改为集成管道有帮助。

如果您使用的是IIS7,请不要忘记在web.config文件的system.webServer部分添加以下行

<system.webServer>
<modules runAllManagedModulesForAllRequests=”true”>
<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule” />
</modules>
<validation validateIntegratedModeConfiguration=”false” />
</system.webServer>


Freddy,我试了一下,但没用。我认为IIS7不喜欢url(例如:gallery/view/1)是无扩展的。regex能解决这个问题吗?这是最新的:嗯,我没有使用那种配置风格,我的配置风格是这样的:我没有额外的查询参数,不过还有其他一些东西。无论如何,我会先尝试一个简单的版本,排除任何配置。有没有办法让它与“经典”管道一起工作?上面提到的system.webServer和httpModules在集成模式下为我工作(IIS7.5)。我也有这样的情况,它在集成模式下工作,但在经典模式下不工作。
<system.webServer>
<modules runAllManagedModulesForAllRequests=”true”>
<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule” />
</modules>
<validation validateIntegratedModeConfiguration=”false” />
</system.webServer>