iis设置404错误页,返回500状态码

Posted 不愿透露姓名的汤姆猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iis设置404错误页,返回500状态码相关的知识,希望对你有一定的参考价值。

一般在II6下,设置自定义404错误页时,只需要在错误页中选择自定义的页面,做自己的404页面即可。但是在IIS7.0及以上时,设置完404错误页后,会发现状态码返回的是500,并且可能会引起页面乱码。查找资料,发现好多资料写的不够详细,不能完美解决问题。特将我的经验分享一下,希望能帮助到大家。

  经过试验,发现有两种方案可用,各有利弊,我使用的是第二种方案。

  方案1:

  1. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”;

  2. 双击“404”,打开“编辑自定义错误页”对话框;

  3. 选中“在此网站上执行URL”,输入自定义404错误页的URL(注意:此处URL是相对于网站根目录的相对路径,不能使用绝对路径),点击“确定”进行保存;

  

  4. 选中“404”,点击右侧栏中的“编辑功能设置”,打开“编辑自定义错误页”对话框;

  5. 在“错误响应”框中,选中“自定义错误页”,点击“确定”进行保存;

  6. 重启IIS。

  

  优缺点:此种方法优点是设置方便,不需要改动代码,只需要修改参数即可;但缺点是按照此种方法设置之后,服务器404错误时,会直接将自定义页面给返回给客户端,因此状态代码会返回200,不利于搜索引擎SEO优化;

  方案2:

  1. 打开 C:\\Windows\\System32\\inetsrv\\config\\ 路径下的 applicationHost.config 文件(该文件是设置IIS参数的);

  2. 搜索找到“<httpErrors>” 选项,将该选项的 allowAbsolutePathsWhenDelegated设置为”true”;

  

  3. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”;

  4. 双击“404”,打开“编辑自定义错误页”对话框;

  5. 选中“将静态文件中的内容插入错误响应中”,选择或输入自定义404错误页的绝对路径(注意:此处路径是使用绝对路径,一定不能使用相对路径,否则会找不到页面),点击“确定”进行保存;

  

  6. 选中“404”,点击右侧栏中的“编辑功能设置”,打开“编辑自定义错误页”对话框;

  7. 在“错误响应”框中,选中“自定义错误页”,点击“确定”进行保存;

  8. 重启IIS。

   优点:设置之后,返回的状态代码依旧是404,不影响搜索引擎SEO优化;

  注意:如果不设置1、2步骤,直接从第3步设置,设置完成之后,返回的状态码为500,且会显示乱码。

以上是关于iis设置404错误页,返回500状态码的主要内容,如果未能解决你的问题,请参考以下文章

http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码

http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码

HTTP 状态消息 200 302 304 403 404 500 分别表示啥?

如何建立HTML页面

如何将不存在的页面显示为404错误页面

HTTP常见状态码 200 301 302 404 500