Asp.net mvc IIS无法服务以.config结尾的页面

Asp.net mvc IIS无法服务以.config结尾的页面,asp.net-mvc,iis,url,error-handling,Asp.net Mvc,Iis,Url,Error Handling,这显然是一个安全问题,可能不想改变这一点,但最好处理这个错误。有什么想法吗 我发现stackoverflow也不能幸免: 他们似乎已将标记更改为web配置以解决此问题,但当您在IIS 7中搜索[web.config]时,仍然会收到一条非常严重的错误消息,这可以在下找到。默认情况下过滤的其他扩展包括: .尽快 .ascx 主人 .cs csproj先生 等等 顺便说一句,这不是一个bug,因为请求在ASP.NET有机会处理之前就被过滤了。换句话说,如果愿意,您可以删除请求筛选器并让IIS处理

这显然是一个安全问题,可能不想改变这一点,但最好处理这个错误。有什么想法吗

我发现stackoverflow也不能幸免:


他们似乎已将标记更改为web配置以解决此问题,但当您在IIS 7中搜索[web.config]

时,仍然会收到一条非常严重的错误消息,这可以在下找到。默认情况下过滤的其他扩展包括:

  • .尽快
  • .ascx
  • 主人
  • .cs
  • csproj先生
等等

顺便说一句,这不是一个bug,因为请求在ASP.NET有机会处理之前就被过滤了。换句话说,如果愿意,您可以删除请求筛选器并让IIS处理扩展名,但请确保扩展名由ASP.NET而不是静态文件处理程序处理


编辑:可能SO的答案是更改它,以便当标记具有.XXX扩展名(如web.config)时,它们会更改为web config或其他IIS不过滤的内容。这可能也是一个很好的主题,我相信ASP.NET 4中添加了一个新的web.config设置,已经解决了这个问题

<configuration>
  <system.web>
    <httpRuntime relaxedUrlToFileSystemMapping="true"/>
  </system.web>
</configuration>


有更多详细信息。

虽然对于例如.cs,但对于.config,则没有错误。@0xA3-如果您输入这样的url:(或使用上述任何扩展名),则会出现相同的错误。碰巧web.config是一个流行的标记,我实际上没有得到相同的错误。对于.cs和.vb,我只得到一个空白页,对于.config,我得到一个XML解析错误。实际上这不起作用。根据文章,“请注意,您仍然无法请求/web.config,因为这将尝试在web应用程序的根目录中请求web.config,而ASP.NET出于充分的理由不允许这样做!”@Keltex correct,如文章所述,由于明显的原因,它不适用于根web.config文件,但适用于包含“web.config”的URL,这些URL与问题示例中的路由匹配