2015-05-28 10 views
8

W moim projekcie MVC istnieje plik Default.html w folderze głównym i trasa tego pliku jako trasa domyślna.Strona statycznego html nie działa po hostowaniu w ASP.NET MVC

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

To działa dobrze, gdy dostęp do niego jak http://localhost:51353/Default.html

I hosta (to ten plik statyczny) Ten projekt w moim serwerze. Ale pokazuje błąd: 404 Error

Czy jest wymagana dodatkowa konfiguracja?

pomóż

+2

sprawdź '' w webconfig. Ponieważ działa on w localhost, może to być jeden problem, jego rozwiązanie – Sachu

Odpowiedz

11

Jeśli chcesz zorganizować static HTML page ramach ASP.net MVC projektu to trzeba skonfigurować swoją konfigurację routingu w MVC zignorować prośby o tych stronach.

Działa lokalnie, ponieważ być może ustawiono go jako stronę startową w Visual Studio. Aby to zadziałało, musisz powiedzieć MVC, aby zignorować trasę, jeśli jest ona przeznaczona dla HTML page lub ASPX page. Znajdź sekcję konfiguracji routingu znajdującą się pod RouteConfig.cs w folderze App_Start. Użyj metody IgnoreRoute(), aby powiadomić usługę Routing o zignorowaniu określonych ścieżek.

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

Teraz MVC ignoruje prośbę, aby załadować stronę Default.html i pozostawia IIS obsługiwać zasób.

0

Zgodnie z Routingiem MVC nie można mapować statycznych plików do tabeli routingu, ponieważ gdy MVC Routing Machanism zapewnia bezpośredni dostęp do fizycznie istniejących plików statycznych.

Powiązane problemy