我不希望网站的apache返回任何HTTP代码404,
原因是认证委员会会扫描所有网站,
许多javascript链接和一些事件会导致404代码,
实际上这些链接是有效的但是检查器会误判错误。
所以,我想阻止 apache 返回 HTTP 代码 404,
如何配置 apache 返回 HTTP 代码 200 而不是 404 并显示我的定义错误页面?
3 回答
来自:http ://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html
- 在您的主 Web 目录中创建一个名为 404.. 的空白文件。可以为空白。
将此添加到您的 .htaccess 文件中:
Redirect 200 /404 ErrorDocument 404 /404
这会将 Apache ErrorDocument 更改为 /404 文件。但是 Redirect 行会导致对 /404 的请求发出 200 OK 响应而不是 404。
如果这不起作用,那无疑是由于重写。因此,如果是这种情况,请在 .htaccess 文件中的前 2 行下方但在任何其他重写行上方添加:
Options FollowSymLinks ExecCGI
RewriteEngine On
RewriteBase /
# If the requested file doesnt exist
# and if the requested file is not an existing directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^4]* /404 [L,S=4000]
在以下位置进行了更详细的解释:http ://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#Automate_ErrorDocument_Triggering
我想你可以在下面使用这个简单的代码到 PHP 中:
header("HTTP/1.1 200 OK");
你可以测试一下。
我用这个:
<?php header("Status: 200 OK"); ?>
这段代码必须放在 .php 文件顶部的第一行代码中。搜索引擎、爬虫、浏览器和任何访问该站点的人都会将错误文档 404 页面视为标题 200。
Header 200 表示页面存在。Google 将抓取标题状态为 200 的网站并将其编入索引。