0

我有 Apache 和 PHP 设置,我正在使用.htaccess文件将文件自动添加到任何输出。

问题是当我想使用输出 404 错误时

<?php header("HTTP/1.0 404 Not Found"); ?>

它仍然输出标题,因为 auto_prepended 文件已经被处理。

.htaccess文件

php_value date.timezone 'Europe/London'
php_value auto_prepend_file load.php

load.php

<?php

    // Set the error reporting level (DEV)
    error_reporting(E_ALL);
    ini_set("display_errors", 1);

    // Load the configuration file
    include("config/config.php");

    session_start();

?>

因此加载文件包含配置文件的包含,以便在加载的每个页面上设置它。

所以目前我有一些页面给出了软 404 错误而不是实际的 404 错误,所以如果没有返回数据说浏览到 /image/123 因为图像 123 实际上不存在,我输出一个“这个图像不存在“所以这会给谷歌或任何其他爬虫带来问题,因为它可以继续从 /image/123 .... /image/12222222333333444444 等......所以它实际上需要输出正确的 404。

希望有人可以提供帮助。

4

1 回答 1

0

我在以下位置找到了答案:PHP header 404 not working

<?php
header("HTTP/1.0 404 Not Found");
exit("<h1>Not Found</h1>
The requested URL " . $_SERVER["REQUEST_URI"] . " was not found on this server.
<hr>");
?>

这给出了正确的 404 输出。

于 2012-12-04T21:02:33.157 回答