在我有机会处理之前,如何才能阻止 IIS7(集成模式)报告 404?

在我有机会处理之前,如何才能阻止 IIS7(集成模式)报告 404?

我有一个在集成模式下在 IIS7 上运行的 ASP.NET MVC 2 应用程序。我试图自己处理 404,但 IIS7 似乎在拦截错误并在我有机会处理之前将其自己的 404 消息返回给客户端。

从编程角度来看,我不太能解决这个问题堆栈溢出,所以我想知道这是否是一个配置问题。我是否需要做些什么来告诉 IIS 让我处理自己的错误?(我试图在 global.asax 中使用 Application_Error,但甚至没有成功)。

有一个针对 404 定义的自定义错误页面(我认为是在机器级别),但当我尝试删除它时,它并没有真正起到作用 - 它只是显示了一条单行消息。我的代码仍然没有被看到。

这可能与路由有关吗?也许“mysite.com/nosuchpage”URL 没有被路由给我,这就是为什么我没有机会拦截它?我需要做些什么才能让所有请求都通过我的应用程序路由吗?

答案1

您需要在站点级别更改 404 页面。

打开 IIS 管理单元。

在左侧深入查看您的网站。

然后在错误页面(右侧,第二部分)上,编辑 404 页面,以便它指向您的自定义页面。

那么你应该一切就绪了。

相关内容