473,327 Members | 2,055 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

404 OK ?

wd
I am using the following bit of code at the very top of my pages to send a
404 Not Found error when people try to access any URL with a query string
in it.

<?php
$url_string = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

if (strstr($url_string, '?')) {
header("HTTP/1.0 404 Not Found");
echo <<<HTML
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
The requested URL was not found on this server.
</body>
</html>
HTML;
exit;
}
?>

These are the headers that get sent back to the browser -- look at the
first line:

HTTP/1.x 404 OK
Date: Sun, 30 Apr 2006 11:13:37 GMT
Server: Apache/1.3.33 (Unix)
X-Powered-By: PHP/4.4.2
Keep-Alive: timeout=2, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

But for the missing favicon (which really does not exist) I get a regular
404 error message:

HTTP/1.x 404 Not Found
What is a "404 OK" header and why isn't it sending the "Not Found" header?
I am trying to get it to send a regular 404 Not Found header.

Apr 30 '06 #1
4 5250
Hello.
Are you using FastCGI?
Did you check the server's error log?

HTTP/1.x 404 OK

404 is for the user agents. "OK" or any other text is for humans to
read so it doesn't matter at all.

So far, google refered me to these threads:
http://wordpress.org/support/topic/66733
http://wordpress.org/support/topic/68654
http://wordpress.org/support/topic/67416
http://bugs.php.net/bug.php?id=36705

Have a look.

Apr 30 '06 #2
wd:
header("HTTP/1.0 404 Not Found"); HTTP/1.x 404 OK


According to RFC2616 the x must be a digit.

The 'OK' (called a reason phrase) is for human consumption. Your
browser would still take this as a 404. RFC2616 section 6.1.1:

http://www.ietf.org/rfc/rfc2616.txt

In the status line you wrote, your HTTP version is 1.0, but the
headers your server sends are only defined under 1.1. What happens if
you change your status line to read:

HTTP/1.1 404 Not Found

--
Jock

Apr 30 '06 #3
wd
On Sun, 30 Apr 2006 05:57:32 -0700, Drakazz wrote:
Hello.
Are you using FastCGI?
Did you check the server's error log?

HTTP/1.x 404 OK

404 is for the user agents. "OK" or any other text is for humans to
read so it doesn't matter at all.

So far, google refered me to these threads:
http://wordpress.org/support/topic/66733
http://wordpress.org/support/topic/68654
http://wordpress.org/support/topic/67416
http://bugs.php.net/bug.php?id=36705

Have a look.


Thanks, I will read those links.

I have some URLs indexed by Google -- hundreds of dynamic URLs that don't
exist. I'm trying to send a 404 when they are requested, but it's not
working. Google is not dropping the URLs even after a couple of months of
those "404 OK" errors and use of the "automatic removal tool" (which is
now down).

So I wonder if that "404 OK" message is being interpreted correctly by the
search engines. The robots.txt file to block spidering of dynamic URLs is
not working either so I'm not sure what is going on. I think Google has a
lot of bugs. I just checked my sitemap and it says that it can't find my
robots.txt file, but it is there and accessible by my browser.

Apr 30 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL)...
2
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues...
3
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which...
0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
1
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the...
4
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the...
1
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url ...
2
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value...
3
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.