我有自定义 404.htm 的 asp.net 站点。它配置了 customErrors 部分来处理 aspx。
<customErrors mode="On" defaultRedirect="404.htm">
<error statusCode="403" redirect="404.htm" />
<error statusCode="404" redirect="404.htm" />
</customErrors>
<system.webServer>
<httpErrors>
<error statusCode="404" path="404.htm" />
<error statusCode="500" path="404.htm" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true">
...
</system.webServer>
它很好地处理了 wrongname.aspx。但是对于非 aspx 请求,例如 wrongname.htm IIS7 仍然返回一般错误消息,而不是我的自定义。例如,对于这个站点的所有错误,包括 500,如何强迫他这样做?我应该写一个模块还是可以声明式的?