【问题标题】:How do I get a friendly error page to replace the asp.net error page for url "WEB-INF./web.xml"?如何获得友好的错误页面来替换 url “WEB-INF./web.xml”的 asp.net 错误页面?
【发布时间】:2013-10-16 04:26:08
【问题描述】:

此 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 错误页面。图片被截断,但规则是^.*\./.*$,它确实与我要过滤的网址匹配(我也尝试过简单的WEB-INF)。

知道如何获取此 url 以显示我们的自定义错误页面吗?

【问题讨论】:

    标签: asp.net iis url-rewriting iis-8 pci-dss


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-27
        • 1970-01-01
        • 2022-01-06
        • 2011-08-23
        • 2016-12-29
        • 2016-03-22
        • 2010-12-31
        相关资源
        最近更新 更多