我有一个 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
);
}
编辑:
我使用 T4MVC 模板引用所有内容。当模板使用 ~/content/ 指定路径时,模板是正确的。问题是,当生成 html 时,输出不包含“~”,它只是 /content/。
<img src="<%= Links.Content.Images.logo_png %>" alt="Logo" />
<img src="/Content/Images/logo.png" alt="Logo" />
笔记:
问题实际上是 web.config 中的这一行有问题。原来 2011 年 1 月 1 日不是星期五,而是星期六。由于某种原因,它仍然不喜欢那条线。
<clientCache httpExpires="Fri, 1 Jan 2011 15:30:00 UTC" cacheControlMode="UseExpires"/>
将其更改为此就可以了;
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
在这里添加它,希望它可以帮助其他人解决这个问题。
谢谢!