我正在尝试使用 IIS6 返回自定义 404 页面。 (我有一个网站,主要是使用可移动类型构建的 .shtml 页面)。我已经尝试了 2 种方式:
1) 将 IIS 中的 404 错误处理程序设置为路径为\404.html 的"file"类型。这有效,但这也意味着我无法导入我网站的页眉和页脚(因此是 .shtml) 尝试将 404 错误处理程序指向 404.shtml 会导致默认的 404 页面...我猜 IIS 可以'不处理 404 中的 shtml 文件。
2)将类型设置为“URL”。这很好用,除了响应代码不再是 404!它的一个200。
如何让 IIS 使用 404.shtml 文件的内容响应 404 响应代码?
最佳答案
鉴于它是 IIS,添加
<% Response.Status = "404 Not Found" %>
到 404.shtml 的顶部应该将响应代码更改为 404。
我不在 Windows 机器上,所以我目前无法对其进行测试以进行验证。
更新:
我终于能够在 IIS 6 上运行一些测试。正如您在我帖子的评论中提到的,.shtml 文件不允许运行脚本命令。因此,至少有两种方法可以解决此问题:
如果这两个选项都不适合您的情况,那么它仍然是可能的,但解决方案对我来说并不是很明显。
关于IIS 404 自定义错误 : URL return response code 200 instead,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345038/