Issue status update for http://drupal.org/node/13594 Post a follow up: http://drupal.org/project/comments/add/13594 Project: Drupal Version: cvs Component: base system Category: bug reports Priority: normal Assigned to: Steven Reported by: Steven Updated by: killes@www.drop.org -Status: active +Status: patch (code needs work) Steven what's up with this? killes@www.drop.org Previous comments: ------------------------------------------------------------------------ Sun, 28 Nov 2004 15:08:31 +0000 : Steven Attachment: http://drupal.org/files/issues/404.patch (1.07 KB) When clean urls are enabled, non-existant pages are rewritten to www.site.com/?q=non/existant. The menu handler will throw a 404 on the non-existant Drupal path. However, if clean urls are not active, then the 404 page (index.php) is called as is. $GET['q'] will be empty, and the front page will be shown without any indication of the 404 or without a log entry in the watchdog. Note that this only happens if .htaccess is being read, but mod_rewrite is not present or enabled. Not too common, but still a bug. The attached patch fixes this problem by checking for a 404 in index.php and calling drupal_not_found() if needed. It also sets $_GET['q'] to request_uri(), so the 404'd URL shows up correctly in the watchdog (same as the rewrite rule). This should go in 4.5 as well as HEAD. Patch is for HEAD, but it should apply to 4.5. ------------------------------------------------------------------------ Sun, 28 Nov 2004 15:17:22 +0000 : Steven An alternative solution is to drop the ErrorDocument 404 from .htaccess, then the web server will handle them if there are no clean URLs. However I think the intended behaviour is for Drupal to log all 404s. ------------------------------------------------------------------------ Sun, 13 Mar 2005 20:44:58 +0000 : killes@www.drop.org Doesn't apply anymore.