ASP.NET Web表单 - 404错误的自定义错误页面仅在询问.aspx页面时才起作用

时间:2018-03-11 09:27:09

标签: asp.net webforms custom-error-pages

我添加了一个自定义错误页面来处理404错误。

 <customErrors mode="On" defaultRedirect="Error.aspx">
  <error statusCode="404" redirect="Error.aspx"/>
  <error statusCode="500" redirect="Error.aspx"/>
</customErrors>

问题是这只有在我尝试访问像./p>这样的.aspx页面时才有效

localhost/abcd.aspx

其中abcd.aspx不是应用中的真实页面。 但是,当我尝试只访问localhost/abcd时,它会抛出默认的IIS错误页面而不是我自定义的页面。 如何配置我的自定义错误页面以捕获所有404错误?

1 个答案:

答案 0 :(得分:0)

添加自定义错误,在CMD中使用以下语法运行:

  

appcmd set config / section:httpError / +“[statusCode = 'int' 下,subStatusCode = 'INT' 的 下,prefixLanguageFilePath = '字符串' 的 下,路径= '字符串' 的 下,响应

说明:

  

变量 statusCode int是HTTP状态代码。变量 subStatusCode int是HTTP子状态代码。变量 prefixLanguageFilePath 字符串是前缀语言文件的路径。变量路径字符串是自定义错误文件的路径

     

例如,要为从服务器返回的任何401.2错误添加自定义错误,请在命令提示符处键入以下内容,然后按Enter键:

     

appcmd set config / section:httpErrors /+"[statusCode='401',subStatusCode='2',prefixLanguageFilePath='%SystemDrive%\inetpub\custerr',path='401.htm',ResponseMode = '文件']“

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753103(v=ws.10)#command-line