2015-05-28 2 views
8

В моем проекте MVC в корневой папке находится файл и маршрутизируйте этот файл в качестве маршрута по умолчанию.Статическая страница Html не работает после хостинга в ASP.NET MVC

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

Это работает хорошо, когда я к нему доступ, как http://localhost:51353/Default.html

I хоста (включите этот статический файл) этот проект в моем веб-сервере. Но отображается ошибка. 404 Error

Есть ли дополнительная конфигурация, необходимая для этого?

пожалуйста, помогите

+2

check '' в webconfig. Поскольку он работает в localhost, это может быть одной проблемой, – Sachu

ответ

11

Если вы хотите разместить static HTML page внутри ASP.net MVC проекта, то вам необходимо настроить конфигурацию маршрутизации в MVC игнорировать запросы на этих страницах.

Он работал локально, потому что вы, возможно, установили его как стартовую страницу в Visual Studio. Для этого вам нужно указать MVC, чтобы игнорировать маршрут, если он для HTML page или ASPX page. Найдите свой раздел конфигурации маршрутизации, он находится в RouteConfig.cs под папкой App_Start. Используйте метод IgnoreRoute(), чтобы указать Routing игнорировать определенные пути.

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

Теперь MVC игнорирует запрос на загрузку Default.html страницу и оставляет IIS для обработки ресурса.

0

В соответствии с трассировкой MVC вы не можете сопоставлять статические файлы с таблицей маршрутизации, потому что когда MVC Routing Machanism обеспечивает прямой доступ к физически существующим статическим файлам.

Смежные вопросы