From e9a970fd29a2b756a7d008f7d1111c33388ca71e Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Wed, 16 Nov 2005 10:16:20 +0000 Subject: [PATCH] Fix 404s. Props donncha. fixes #1471 git-svn-id: https://develop.svn.wordpress.org/trunk@3108 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/classes.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/wp-includes/classes.php b/wp-includes/classes.php index 69a5dc00af..bd51b3f0d6 100644 --- a/wp-includes/classes.php +++ b/wp-includes/classes.php @@ -1488,6 +1488,17 @@ class WP { break; } } + + // If req_uri is empty, the home page was requested. Unset error. + if ( empty($req_uri) ) { + if (isset($_GET['error'])) { + unset($_GET['error']); + } + + if (isset($error)) { + unset($error); + } + } } } @@ -1508,6 +1519,9 @@ class WP { else $this->query_vars[$wpvar] = ''; } + + if ( isset($error) ) + $this->query_vars['error'] = $error; } function send_headers() { @@ -1602,12 +1616,10 @@ class WP { // issue a 404 if one was already issued, if the request was a search, // or if the request was a regular query string request rather than a // permalink request. - if ( (0 == count($wp_query->posts)) && !is_404() && !is_search() - && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && - (false === strpos($_SERVER['REQUEST_URI'], '?'))) ) ) { + if ( (0 == count($wp_query->posts)) && !is_404() && !is_search() && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && (false === strpos($_SERVER['REQUEST_URI'], '?'))) ) ) { $wp_query->set_404(); status_header( 404 ); - } else { + } elseif( is_404() != true ) { status_header( 200 ); } }