2015-05-28 6 views
8

Nel mio progetto MVC, C'è un file Default.html nella cartella principale e il percorso come una route predefinita.La pagina statica HTML non funziona dopo l'hosting in ASP.NET MVC

 routes.MapRoute(
      name: "", 
      url: "Default.html" 
      //, 
      //defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

Sta funzionando bene quando accedo piace http://localhost:51353/Default.html

ospite I (Integrare questo statica) questo progetto nel mio server web. Ma sta visualizzando l'errore 404 Error

C'è qualche configurazione aggiuntiva necessaria per fare questo?

favore aiuto

+2

controllo '' in webconfig. Dal momento che funziona in localhost, questo può essere un problema, il suo problema è risolto – Sachu

risposta

11

Se si desidera ospitare un static HTML page all'interno di un progetto ASP.net MVC allora avete bisogno di configurare la configurazione di routing in MVC di ignorare le richieste di quelle pagine.

Ha funzionato localmente perché potrebbe essere stato impostato come pagina iniziale in Visual Studio. Per farlo funzionare devi dire allo MVC di ignorare il percorso se è per il HTML page o ASPX page. Trova la tua sezione di configurazione del routing, è in RouteConfig.cs nella cartella App_Start. Utilizzare il metodo IgnoreRoute() per indicare a Routing di ignorare i percorsi specifici.

routes.IgnoreRoute("Default.html"); //ignore the specific HTML page 

Ora MVC ignora una richiesta per caricare la pagina Default.html e lascia IIS per gestire la risorsa.

0

Come per il routing MVC, non è possibile mappare i file statici alla tabella di routing, perché quando MVC Routing Machanism fornisce l'accesso diretto ai file statici fisicamente esistenti.