【问题标题】:customError in web.config only works on .aspx pagesweb.config 中的 customError 仅适用于 .aspx 页面
【发布时间】:2015-05-09 01:25:07
【问题描述】:

我正在使用 FriendlyUrl,它摆脱了所有 .aspx 扩展名。但是,当我在 web.config 文件中设置 customError 时,它仅在错误是在扩展名为 .aspx 的路径上引起时才有效。

的Ex进入我自己的错误页面: localhost:xxxxx/DefaultMissSpelled

进入我自己的错误页面的示例: localhost:xxxxx/DefaultMissSpelled.aspx

我实际上必须手动添加.aspx 才能让它工作,或者我只是得到默认的asp.net 错误页面。

Web.config:

<customErrors defaultRedirect="Errors/DefaultError.aspx" mode="On">
      <error statusCode="404" redirect="Errors/Filenotfound.aspx" />
</customErrors> 

(我尝试过在 web.config 中使用和不使用 .aspx 扩展名)。

【问题讨论】:

  • 这是在&lt;system.webServer&gt;&lt;system.web&gt; 标签内吗?如果您使用的是 IIS 7 或更高版本,请使用``

标签: c# asp.net error-handling


【解决方案1】:

试试这个:

<system.webServer>
<httpErrors errorMode="Custom">
  <remove statusCode="404"/>
  <error statusCode="404" responseMode="Redirect" path="/page-not-found"/>
</httpErrors>
</system.webServer>

使用您的友好网址更改路径名称

这是针对 IIS 6 的

<system.web>
<customErrors mode="RemoteOnly">
  <error statusCode="500" redirect="~/internal-server-error"/>
  <error statusCode="404" redirect="~/page-not-found"/>
</customErrors>
</system.web>

【讨论】:

  • 感谢 asnwer,在同一个 web.config 文件中同时使用 system.websystem.webServer 可以吗?
  • 是的。这完全取决于您使用的 IIS 版本,它会选择适合您的托管服务器应用程序的版本。
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 2019-05-21
  • 2012-10-08
  • 2021-08-01
  • 1970-01-01
相关资源
最近更新 更多