【问题标题】:Error404 and System.Web.Routing.RouteTable.RoutesError404 和 System.Web.Routing.RouteTable.Routes
【发布时间】:2012-08-29 02:39:27
【问题描述】:

我在 Asp.net 4.0/vb.net 中使用路由,如下例所示:

rotas.MapPageRoute("test", "test/{detail}/{id}", "~/test/test.aspx")

在web.config中已经设置了customErrors:

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

如果在不使用路由的情况下提交了无效的 url,则会正确显示 404 错误页面。示例:site/defaul2.aspx。

但是,如果我使用 site/test2/anything/123 之类的路由输入无效的 url,则会出现标准的 asp.net 404 错误页面,而不是我的 404 自定义页面 (Error404.htm)。

【问题讨论】:

    标签: asp.net vb.net routing custom-errors


    【解决方案1】:

    如果您使用的是 IIS7,您可能还必须在此处指定您的自定义错误页面。

    单击站点并选择“错误页面”(在 IIS 列表中)并更改 404 和 500 的条目。

    这不是我在 IIS6 中必须执行的步骤,但 II6 确实需要 URL 路由的通配符处理程序,因此 ASP.NET 处理对非本地文件(即 jpg、png、pdf 等)的请求。默认情况下 IIS7 会执行此操作,但根据我的经验,这些资产不会推送到 ASP.NET 错误页面 - 这就是您必须明确设置这些错误页面的原因。

    【讨论】:

      猜你喜欢
      • 2021-10-01
      • 2013-04-28
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 2017-04-15
      相关资源
      最近更新 更多