我有一个使用 404 页面设置的 PHP 站点来处理漂亮的 URL 和一些缓存。这工作得非常好,并且比重负载下通常的 htaccess 重定向规则更快。
ErrorDocument 404 /damncache/index.php
问题是 Apache 将 HTTP 状态设置为 404,我似乎无法覆盖它。因此,当谷歌索引网站时,所有这些页面都没有被索引(根据谷歌网站管理员工具)。
这是我目前尝试覆盖它的方式:
header($_SERVER['SERVER_PROTOCOL'] . " 200 OK");
header("Status: 200 OK"); // for fast cgi
有了这个,它对人类/浏览器工作正常,但谷歌显然收到 404 状态并停止。这是一个例子。
它托管在 Dreamhost 专用 Linux 服务器上,运行 PHP 5.3.x 和 FastCGI。