如何让我的404 PHP错误页面出现在IIS6中?

时间:2012-03-23 15:24:52

标签: php iis iis-6 http-status-code-404

我已经设置了一个PHP脚本,并且可以正常处理格式错误的URL。如果传递的查询字符串与实际页面不对应,则会发出404错误并显示自己的自定义错误页面,该页面实际上是从Content Manager数据库中提取的。

在Apache上,这很有用。在II6 ......不是那么多。我需要知道我需要做些什么来告诉IIS6不要尝试使用自己的Microsoft默认错误页面覆盖我的PHP 404错误。

在我的PHP脚本中,处理404错误的代码包括以下命令:

header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');

当我评论该行时,我的PHP错误页面显示很棒。但如果我不加评论,我所看到的就是:

Microsoft's Default Error Page

我不希望我的自定义错误页面显示200状态代码;这会误导搜索引擎。那么如何在代码中保留上面的代码行而不会让Microsoft的页面卡在那里呢?

1 个答案:

答案 0 :(得分:0)

哎呀 - 我明白了。在IIS中,在站点的属性中,我必须转到“自定义错误”选项卡,并有效清除404错误默认存在的页面。实际上你只需要在第一个上执行此操作,但在变体上执行此操作也没有什么坏处。那里列出了文件(类型为“文件”)。我认为那是默认值,但我猜不是吗?当我选择它们并单击“设置为默认值”时,类型切换为“默认”而不是“文件”,我的PHP脚本开始按照我的意愿工作。