1

此 url 是 pci 合规性扫描的一部分,它标记了返回的非常稀疏的 asp.net 错误页面,在实时站点上是 500 状态代码和文本

“/”应用程序中的服务器错误。

运行时错误

描述:处理您的请求时发生异常。此外,在执行第一个异常的自定义错误页面时发生了另一个异常。请求已终止。

但是,在 Visual Studio 中运行该站点时,我得到了 404 和文本

“/”应用程序中的服务器错误。

无法找到该资源。

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/WEB-INF./web.xml

版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.18044

我尝试在路由中忽略该 url 并将其映射到我们的 404 路由/error/not-found,我们有自定义错误,默认重定向到/error/internal. 我还尝试使用位置标记拒绝访问,通过请求过滤阻止它,并使用具有该路径的处理程序来捕获请求。

我尝试了这种重写,也尝试了相同的规则阻止和重定向,但我仍然得到相同的 asp.net 错误页面。图像被截断,但规则是^.*\./.*$,它确实与我要过滤的 url 匹配(我也尝试过简单的WEB-INF)。

重写规则

知道如何让这个 url 显示我们的自定义错误页面吗?

4

2 回答 2

1

添加relaxedUrlToFileSystemMapping="true"到 web.config 中的 httpRuntime 节点允许此 url 按预期由 ASP.Net MVC 处理。

<system.web>
  <httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
于 2013-10-09T16:02:36.860 回答
0

您可以使用位于此处的 Managed Fusion 的重写器库,它的工作方式类似于通过 Apache 配置进行重定向:http: //managedfusion.com/products/url-rewriter/

如何使用它的文档在这里: http: //managedfusion.com/products/url-rewriter/documentation.aspx

于 2013-10-09T03:22:17.763 回答