title: MVC3 - All routing works locally but not remotely
body: <p>I have a new MVC3 project with one Controller called PublicController.cs which contains 4 identical methods for testing out how routing works. The only difference between them is their name, and that they each point to a different view ...</p>
  
  <pre><code>public class PublicController : Controller
  {
      //
      // GET: /Public/
      public ActionResult Index()
      {
          return View();
      }
  
      //
      // GET: /Public/App
      public ActionResult App()
      {
          return View();
      }
  
      //
      // GET: /Public/Press
      public ActionResult Press()
      {
          return View();
      }
  
      //
      // GET: /Public/Contact
      public ActionResult Contact()
      {
          return View();
      }
  }
  </code></pre>
  
  <p>I can get to all of them when running in the development server by visiting these URLs...</p>
  
  <pre><code>http://localhost:53367/Public/
  </code></pre>
  
  <p>or its equivalent</p>
  
  <pre><code>http://localhost:53367/Public/Index
  </code></pre>
  
  <p>and then </p>
  
  <pre><code>http://localhost:53367/Public/App
  http://localhost:53367/Public/Press 
  http://localhost:53367/Public/Contact
  </code></pre>
  
  <p>However, once it's deployed to my remote ASP.NET 4.0 server, the only two that work are:</p>
  
  <pre><code>http://localhost:53367/Public
  http://localhost:53367/Public/Index
  </code></pre>
  
  <p>... all others give me a 404 Resource cannot be found error. </p>
  
  <p>My web-server is shared hosting with netcetera, using a sub-domain for this deployment (previously had problems with MVC in virtual directories, but have full blown MVC2 apps running in sub-domains no problem). I've deployed by using the "Publish to file system" option, then copying over the files aswell as just copying the entire source project over. Both give identical results.</p>
  
  <p>Any ideas why?</p>
  
  <p>Thanks, </p>
  
  <p>Steven</p>