web.config中的customError只在.aspx页面上起作用。

3
我正在使用FriendlyUrl,它可以去掉所有的.aspx扩展名。然而,当我在web.config文件中设置customError时,它只适用于在带有.aspx扩展名的路径上引起错误的情况。
例如,不会进入我的自定义错误页面的示例: 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扩展名。

这是在<system.webServer>标签内还是<system.web>标签内?如果你使用的是IIS 7或更高版本,请使用<system.webServer> - Ali
1个回答

2
尝试这个:
<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>

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Rodal
是的,是的。这完全取决于您使用的IIS版本,并且它会选择适合您的托管服务器应用程序的版本。 - Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接