Я в процессе развертывания приложения ASP.NET MVC на IIS 6, но столкнулся с проблемой с корневым путем.
В Global.asax у меня сопоставлен корневой путь:
routes.MapRoute("Root", "",
new { controller = "Dashboard", action = "Index", id = "" });
Когда я перехожу к http://servername:70/test2/,, приложение отображает правильную страницу, но таблица стилей и файлы JavaScript не загружаются. Глядя на источник, пути показывают вот так:
<script src="test2/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="test2/Content/stylesheets/app.css" />
Что заставляет браузер искать
http://servername:70/test2/test2/Content/stylesheets/app.css
Когда я иду прямо к контроллеру (http://servername:70/test2/Dashboard.aspx), пути правильные:
<link rel="stylesheet" type="text/css" href="Content/stylesheets/app.css" />
Это также происходит с любыми ссылками, созданными с помощью ActionLink. Пути таблиц стилей и сценариев создаются с помощью Url.Content:
<link rel="stylesheet" type="text/css"
href="<%= Url.Content("~/Content/stylesheets/app.css") %>" />