2

在 ASP.Net 4 和 MVC2 应用程序中,我们有一个奇怪的配置错误。

web.config 看起来像这样:

<configuration>
    <location path="blockedpath">
        <system.web>
            <authorization>
                <deny users="*" />
            </authorization>
        </system.web>
    </location>
    <system.web>
        <customErrors mode="On" defaultRedirect="~/Error.aspx" />
    </system.web>
</configuration>

访问被阻止的位置被正确拒绝,但会从 IIS 提供我们不想要的详细错误消息。

为什么它不提供配置的自定义错误?

当页面访问被配置拒绝时,我们可以控制它提供的页面吗?

4

2 回答 2

1

根据这篇博客文章,IIS7 试图提供帮助,并且喜欢窃取您的自定义错误页面并将其替换为自己的错误页面。

在 IIS 中打开错误页面功能,然后单击右侧菜单上的编辑功能设置。设置详细错误选项以使 IIS 通过您从 ASP.NET 提供的任何错误。

于 2011-04-12T17:56:55.140 回答
0

如果这是 IIS7,那么看起来 IIS 正在劫持响应。尝试这个:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>
于 2011-04-12T17:53:25.117 回答