3

这是我关于这个伟大的编程信息来源的第一篇文章。

我为客户开发了新网站,只是做一些收尾工作。

我正在尝试创建将从web.config读取的自定义错误页面

 <system.web>
 <customErrors mode="RemoteOnly">
           <error statusCode="404" redirect="404.aspx" />
           <error statusCode="500" redirect="500.aspx" />
    </customErrors>

它在本地开发机器上运行良好,并根据需要显示 404 和 500 错误。

编译并将站点发布到 Web 服务器后,它不起作用。IIS 6 继续显示原始 IIS 6 错误页面,例如 404 错误:

The page cannot be found

The page you are looking for might have been removed, 
had its name changed, or is temporarily unavailable. 
Please try the following:

Make sure that the Web site address displayed in the address bar of 
your browser is spelled and formatted correctly.

If you reached this page by clicking a link, contact the Web site 
administrator to alert them that the link is incorrectly formatted.

Click the Back button to try another link.
HTTP Error 404 - File or directory not found.
Internet Information Services (IIS)

我不确定为什么要这样做,我认为 web.config 会覆盖原始的 IIS6 设置。


好的,我发现问题仅出在 404 .aspx 页面上。错误 500 工作正常并显示 500.aspx 页面。但不适用于 404.aspx。请指教

4

1 回答 1

2

如果请求被传递到 .NET ISAPI 过滤器,则 Web 配置只会覆盖 IIS6 设置 - 例如,对于以 .aspx 结尾的页面

如果我浏览到的文件或目录无法访问 .NET ISAPI,它就不会使用 web.config 规则。

于 2010-01-28T10:58:01.417 回答