使用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开发服务器两种模式在集成下都正常运行。
————————————————
版权声明:本文为CSDN博主「无人境域」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xqj198404/article/details/11577377