Скрипт не возвращается 404 - PullRequest
1 голос
/ 04 января 2012

У меня есть PHP-скрипт, который выполняет некоторую проверку, и если проверка выключена, он должен вернуть 404. Но это не так.

Вот начало сценария:

<?php
include '../connect.php';
include '../global.php';
include '../utils/api/problems.php';
include '../utils/api/suggested_solutions.php';
include '../utils/api/attempted_solutions.php';
include '../utils/api/categories.php';

$problem_id = mysql_real_escape_string($_GET["problem_id"]);

// Get member_id from session
$member_id = $_SESSION['user_id'];

// Validate the call
if ( empty ( $problem_id ) || !isset ( $problem_id ) || !is_numeric ( $problem_id ) )
{
    $referer = $_SERVER['HTTP_REFERER']; 

    // Send me an email with the error:
    $from = "from: problem_url_error@problemio.com";  
    $to_email_address = 'my_email';
    $error_subject = 'Error happened when getting problem_id from request';
    $contents = 'Error in problem.php - here is the referer: '.$referer;

    //mail($to_email_address, $error_subject, $contents, $from);    

    error_log ( ".......error validating problem id in problem.php");
    header('HTTP/1.1 404 Not Found');
}

Но по какой-то причине это не возвращает 404 - любая идея почему?

Спасибо !!

Ответы [ 2 ]

4 голосов
/ 04 января 2012

Заголовок называется status:

header("Status: 404 Not Found");

EDIT: Теперь я вижу, что ваш подход должен работать, изучите заголовок документация , если вы соответствуете требованиям для использования header("HTTP/xxx ..."), есть некоторые ограничения.

3 голосов
/ 04 января 2012
header("HTTP/1.0 404 Not Found");

Должно быть достаточно в соответствии с документами - заголовок Status используется при использовании FastCGI - Docs .

То, что вы получите, это пустая страница, вы можете добавить контент следующим образом:

header("HTTP/1.0 404 Not Found");
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...