|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-03-11 07:24 UTC] habazi at yahoo dot com
Apache returns HTTP-status code according to Status:-header line returned by a cgi-script. PHP should do that too because it's a good feature to support that behavior to allow script-writers return custom status-codes.
Status is not a real HTTP header but a HTTP-server could return e.g. "HTTP/1.0 404" from a cgi-script. But it doesn't work that way for PHP when running as a module inside Apache. It could.
e.g.
<?php
if (file_exists($file))
echo mtime($file);
else
header("Status: 404 Not Found");
?>
In Apache it's done this way
But this doesn't get done for PHP when running as a module.
(Apache 1.3.9 util-script.c
ap_scan_script_header_err_core(...)
{
...
/*
* If the script returned a specific status, that's what
* we'll use - otherwise we assume 200 OK.
*/
else if (!strcasecmp(w, "Status")) {
r->status = cgi_status = atoi(l);
r->status_line = ap_pstrdup(r->pool, l);
}
...
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 21:00:01 2025 UTC |
You can do header("HTTP/1.1 404"); and PHP will create a nice header for it.