UrlRewriter的一个问题

使用UrlRewriter时候发现一个问题,采用VS开发服务器的情况下,是能起作用的,可以对地址进行正确重写

不过因为开发需要项目采用的是在IIS Web服务器的的方式测试

结果就不行了,明显的表现是压根不加载UrlRewriter模块(将UrlRewriter的源码项目加入到解决方案中,在VS开发服务器状态下调试能命中中断,IIS模式下就不行了)

各种Google,百度,没一个靠谱的,而且都是抄来抄去难过

找到一篇关于在win7下设置的文章,结果也是没有效果,文章里的UrlRewriter版本老了

不过倒是意外发现了问题所以,在于web.config中的配置写法上。

http://urlrewriter.net/index.php/support/configuration这里的写法必须将IIS运行在经典模式下。而且runAllManagedModulesForAllRequests这个属性在net4.0下的写法是不对的

还需要添加配置如下

 <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
            <add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
        </modules>
</system.webServer>
这样的配置则可以VS开发服务器和IIS开发服务器两种模式在集成下都正常运行。


原文地址:https://www.cnblogs.com/AI001/p/3368873.html