mvc.net路由中带特殊字符如【.*/\】等时遇到的天坑
用mvc.net的路由做网站伪静态时出现的天坑,自己一直没测试出来,竟然要靠客户被坑了后才知道
解决办法 参考https://stackoverflow.com/questions/16581184/mvc4-404-errors得到最安全的解决办法是:
<system.webServer> <handlers>
<!--推荐这里的配置,虽然麻烦点,但是安全,有效--> <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/product/*" verb="*" /> <add name="UrlRoutingHandler301" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/Productshow2.asp*" verb="*" />
<!--推荐配置结束--> </handlers> <!--这里不推荐,因为会导致每一个资源都请求上运行,浪费资源-->
<modules runAllManagedModulesForAllRequests="true"> </modules>
<!--浪费资源的配置结束--> ... </system.webServer>