404 有二个设置方法。
设置 自定义 404 那个就是返回 200
开启动态 404 页,这个就是返回 404 状态

虚拟主机如何设置 404 自定义错误页面

注意:「设置自定义错误」 功能返回的状态码为 200,
「开启动态 404 页」 时,如果你的 404 文件名是 index.html,index.htm 返回的状态码为 404,

「开启动态 404 页」 时,如果你的 404 文件名是 index.asp,index.php, 等动态文件,默认返回的是状态码 200,如果要返回 404,需要在这些动态网页的头部加入状态代码:
如下:

<%Response.Status="404 Moved Permanently"%>
<?php header("HTTP/1.0 404 Not Found")?>
如果要做 seo,并要求返回 404 状态码,请注意选择使用 「开启动态 404 页」 功能。

附:url 状态码在线检查工具