My organization just rolled out its new site design (which includes a good chunk of moved pages), and I just upgraded my copy of Danny Goodman's _Dynamic HTML_ to 3rd edition ("updated for Ajax and Web 2.0"). So I quickly realized we should have an AJAX script on our 404 pages. Parse the given URL, apply some heuristics, test a half-dozen candidate addresses, forward user to the best match.
To iterate is human, to recurse, divine. -- Robert Heller