Asp.net 向网站添加自定义错误页

Asp.net 向网站添加自定义错误页,asp.net,sitemap,web-config,Asp.net,Sitemap,Web Config,我有一个使用web.config的网站。我尝试添加以下代码: <customErrors mode="On" defaultRedirect="error.htm"> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> 但它似乎不起作用。错误仍然会出现。我可能放错地方了吗 样本: <authentication mode="Forms"

我有一个使用web.config的网站。我尝试添加以下代码:

<customErrors mode="On" defaultRedirect="error.htm">
            <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>

但它似乎不起作用。错误仍然会出现。我可能放错地方了吗

样本:

<authentication mode="Forms">
      <!-- Assign login url to LOGINSTATUS control -->
            <!-- log user out after 15 minutes of inactivity -->
            <forms loginUrl="~/Tilton/Login/Login.aspx" timeout="15"/>
        </authentication>
    <customErrors mode="On" defaultRedirect="error.htm">
      <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>


ASP.NET错误处理程序仅适用于ASP.NET引擎在存在时会处理的资源。例如,您的处理程序应该适用于nonexist.aspx,但不适用于foo.bar,因为.bar未映射到ASP.NET。这是您的问题吗?

您可以在IIS本身中设置自定义404错误页。在IIS 7中,每个网站都有一个“错误页面”配置部分。

经过一些测试后,我明白了您的意思,是的。任何与page.aspx相关的内容都可以正常工作,但是page.page无法正常工作。我可以做些什么吗?它可以处理所有事情吗?IIS中的自定义错误页面是您想要的,而不是ASP.NET页面。如果在IIS配置中进入ASP.NET ISAPI处理程序并告诉它“检查文件是否存在”,则所有缺少的文件都将转到IIS处理程序,包括通常由ASP.NET处理的文件。如果您不想选中该框,则需要两个404处理程序-一个在IIS中,另一个在web.config.btw中,您无法强制ASP.NET处理所有(在iis6中,不太确定IIS 7)。