aakk9999 - 12:11 pm on Feb 14, 2012 (gmt 0)
The HTTP 500 may be returned if you have unhandled exception in your script. For example, the URL in request is clear enough for the server to forward it to the correct script, but when the script executes, the rest of URL (parameters) cause unhandled exception in DB read/write or something like that and this ends up with HTTP 500.
I agree with Lucy that it should end up with 404 but for 404 the exception has to be handled (rather than left unhandled.)
I saw this happen often with careless programming.