Asp.netMVC中地址后缀使用.html,jsp等404错误解决

 

asp.net mvc 默认的地址路径url都是没有后缀的比如 www.a.com/aa/bb 等

 

如果要是www.a.com/aa/bb.html需要专门写路由。

 

根据我之前的经验,mvc的路由是相当灵活强大,html等其后缀只是路由路径的一部分,仅仅是没有语法含义的字符串,只要定义如下就可以:

            routes.MapRoute(
               "newsInfo", // 动态新闻详细
               "news/{id}.html", // 带有参数的 URL
               new { controller = "News", action = "News", id = UrlParameter.Optional }, new { id = @"\d{1,8}" }// 参数默认值
           );

 

我在之前的项目中发现,这样定义也是可以。程序运行正常的。

 

但是今天新建了一个项目,当我定义html后缀的时候就报404错误,非常奇怪。后来找到了两个解决办法,其中任何一个都行

1.在config中添加这个节点就可以

  <system.webServer>

    <modules runAllManagedModulesForAllRequests="true" />

  </system.webServer>

2,在iis中添加处理程序映射

 

 

把红线的默认字符串输入就行。名称随意

 

 

这个两个方法都可以解决404的问题。

但是也有同事反映项目代码中方法1的配置节点也不行,还的需要在iis中配置方法2

 

 

posted @ 2013-12-05 17:13  音乐啤酒  阅读(907)  评论(2编辑  收藏  举报