[wp-trac] [WordPress Trac] #11348: Archive Page Should be 404.php When !have_posts()

WordPress Trac wp-trac at lists.automattic.com
Mon Jan 11 03:23:24 UTC 2010

#11348: Archive Page Should be 404.php When !have_posts()
 Reporter:  miqrogroove   |        Owner:  ryan    
     Type:  defect (bug)  |       Status:  reopened
 Priority:  normal        |    Milestone:  2.9     
Component:  Query         |      Version:  2.8.4   
 Severity:  normal        |   Resolution:          
 Keywords:                |  

Comment(by filosofo):

 Replying to [comment:8 miqrogroove]:
 > filosofo, by your logic the server always finds index.php and should
 never use 404 for any reason.

 No.  The concept of [http://tools.ietf.org/html/rfc3986 "resource" is a
 logical one]; it has to do with data and data's relationship across the
 web.  Although

  * a garbage request string such as {{{/index.php?whatever=irrelevant-
 string}}} and
  * a blog post request such as {{{/index.php?post_id=1}}}

 both involve the "index.php" file, they differ semantically.  The first
 deserves a 404 response because its request doesn't map to a known
 resource; the second deserves something like a 200 because the request
 maps to a known resource (the blog post).

 ''The actual implementation files routing the query, such as index.php,
 are not part of the '''semantics''' of the query.''

 With your example of {{{/category/iamempty/}}} the query maps to a known,
 existing resource: namely, an empty category.  The ''meaning'' of the
 query  {{{/category/iamempty/}}} is that it requests the category named

 Because category "iamempty" exists, and the server has found it (the
 resource---the existing, empty category), returning a 404 in this case
 would go against the HTTP 404 definition.

Ticket URL: <http://core.trac.wordpress.org/ticket/11348#comment:9>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list