I've made the changes outlined at http://stackoverflow.com/questions/108813/404-http-error-handler-in-aspnet-mvc-rc-5 and I'm still getting the standard 404 error page. Do I need to change something in IIS?
In IIS, you can specify a redirect to "certain" page based on error code. In you example, you can configure 404 - > Your customized 404 error page.
What I can recomend is to look on FilterAttribute. For example MVC already has HandleErrorAttribute. You can customize it to handle only 404. Reply if you are interesed I will look example.
BTW
Solution(with last route) that you have accepted in previous question does not work in much of the situations. Second solution with HandleUnknownAction will work but require to make this change in each controller or to have single base controller.
My cooice is solution with HandleUnknownAction, though.
Looks like this is the best way to catch everything.
http://stackoverflow.com/questions/619895/how-can-i-properly-handle-404s-in-asp-net-mvc
Yet another solution.
Add ErrorControllers or static page to with 404 error information.
Modify you web.config (in case of controller).
<customErrors mode="On" >
<error statusCode="404" redirect="/Errors/Error404/" />
</customErrors>
Or in case of static page
<customErrors mode="On" >
<error statusCode="404" redirect="/Statis404.html" />
</customErrors>
This will handle both missed routes and missed actions.
May be Route Handling article helps to handle asp.net routing. There is described how run required controller, model, view based on passed JSON data