So, once I got the site up and running and I thought I was home and away.
My home page worked perfectly, but as soon as I clicked away from the home page I got a 404 error page. Now I assumed that the only reason I was getting this was because of the site being on a hosted site, and that the hosting site used IIS 6.
I googled around a little and found out that it had to do with the IIS settings on the hosted site. It worked perfectly locally until I deployed the site. A few of the search sites suggested changing the extension in the routing to .mvc, amongst other things. Nothing seemed to work, except the following.
For me, the only thing that seemed to fix it was a changed to change the wildcard mapping for aspnet_isapi.dll in the IIS settings. Fortunately for me, my hosting company was kind enough to change the settings on my site for me. I'm not sure if your hosting company will do this for you, but this was an instant fix
This can be done by opening IIS manager, right clicking on your app, click on properties, then on configuration at the bottom. Click Insert and paste in
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll - (You might want to click on the .aspx extension and click edit and copy the path of the aspnet_isapi.dll from there).
Another important thing to remember is to uncheck the "verify that file exists" checbox.
Once this was done everything seemed to run smoothly again. Awesome!