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

时间:2015-03-07 14:10:45

标签: c# asp.net error-handling

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

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

1 个答案:

答案 0 :(得分: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>