I'm sorry to harp on this, but it's kind of a pet peave of mine. I ran across a site today, a site that discusses coding techniques, and it had some pretty simple errors that should have been caught some time ago. What were the errors? Simply forgetting that if you use url.id on a page, you should handle cases where url.id doesn't exist, or is invalid. Now, I'm not going to say what this site was, because I've made this mistake as well, but I see too many dynamic sites out there that don't correctly validate input parameters (url, form, cookie values) and I'm on kind of a crusade to make people aware of it. Of course, now that I've posted this people will find all the mistakes I've made on my sites. ;)
Anyway - I won't just complain, I'll try to help as well. Taking the example of url.id, how should you handle checking for it? The simplest check is to use isDefined("url.id") to see if the variable exists. Next, you need to validate the value. If it's supposed to be numeric, use isNumeric. Lastly, if the value is passed to a query, or a CFC, and is supposed to return a record, then notice when no record, or a blank record, is returned. You can then simply move the user to your home page, or perhaps a listing page of some kind.