web.config 中的 customError 仅适用于 .aspx 页面

customError in web.config only works on .aspx pages

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

Ex 不会 转到我自己的错误页面: localhost:xxxxx/DefaultMissSpelled

Ex 转到我自己的错误页面: 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 扩展名)。

试试这个:

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

用您友好的方式更改路径名称url

这是针对 IIS 6

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