У меня есть сайт ASP.NET MVC, и он прекрасно работает, когда я запускаю его локально. После развертывания этого сайта в IIS 7 все ссылки на ресурсы прерываются (т.е. файлы сценариев, изображения, файлы CSS). Может ли это быть проблемой маршрута или настройкой IIS?
Вот мои маршруты:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("elmah.axd");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Search",
"Basic/Page/{page}",
new { controller = "Search", action = "Basic" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = MVC.Welcome.Name, action = MVC.Welcome.Actions.Index, id = "" } // Parameter defaults
);
}
EDIT:
Я ссылаюсь на весь контент, используя шаблон T4MVC. Шаблон корректен, если он указывает пути с помощью ~ / content /. Проблема в том, что когда генерируется html, вывод не содержит «~», это просто /content/.
<img src="<%= Links.Content.Images.logo_png %>" alt="Logo" />
<img src="/Content/Images/logo.png" alt="Logo" />
Примечание:
На самом деле проблема заключалась в том, что с этой строкой в web.config что-то не так. Оказывается, 1 января 2011 года - не пятница, а суббота. По какой-то причине ему все еще не нравилась эта строка.
<clientCache httpExpires="Fri, 1 Jan 2011 15:30:00 UTC" cacheControlMode="UseExpires"/>
Изменение на это работает просто отлично;
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
Добавление его сюда в надежде, что это поможет другим в этом вопросе.
Спасибо!