Как получить HTML-страницу по умолчанию на сайте MVC3 - PullRequest
2 голосов
/ 18 сентября 2011

Я добавил веб-приложение MVC3 на существующий веб-сайт, который состоит из простых старых html-файлов. Это прекрасно работает, когда вы запрашиваете определенный файл, но мне не пришло в голову, что при изменении сайта на .Net 4 он больше не обращал внимания на настройку документов по умолчанию в IIS (в данном случае IIS 6). Так, например, я могу запросить www.something.com/index.html, но если я запрашиваю www.something.com, я получаю страницу с ошибкой не найденного ресурса. Есть ли в Global.asax MapRoute, который я могу указать для сопоставления URL-адреса маршрута сайта с index.html?

Ответы [ 4 ]

6 голосов
/ 15 февраля 2012

Похоже, что-то изменилось, я должен был сделать

routes.IgnoreRoute("");

ASP.NET пожаловался на маршрут, начинающийся с "/"

3 голосов
/ 03 октября 2011
routes.IgnoreRoute("");

Позволяет запросу перейти к документам по умолчанию, определенным в конфигурации сайта. У меня есть только один контроллер и маршрут в этом проекте, который я использую для запросов ajax от клиента. Я хочу, чтобы остальная часть сайта продолжала вести себя так же, как это было, когда это был просто HTML. При rout.IgnoreRoute ("") приложение MVC3 игнорирует запрос, который позволяет IIS возвращать документ по умолчанию. Спасибо всем за ваши предложения.

2 голосов
/ 18 сентября 2011

в global.asax вы можете попытаться определить правила вроде этого

 routes.MapRoute("", "index.html", new { controller = "Home", action = "Index" });

Но я боюсь, что с IIS 6 вам придется обрабатывать Wild card mapping.

1 голос
/ 18 сентября 2011

Это нормально. IIS 6.0 не поддерживает URL без расширений. Вам понадобится подстановочный знак , как объяснил Фил Хаак.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...