【发布时间】:2012-02-22 20:42:31
【问题描述】:
今天早上,我在 localhost 的 ASP.NET MVC 2 站点上的单个 CSS 文件上返回 302 错误,我不知道会发生什么变化。
本地主机站点使用 IIS 7.5,虽然我在 IIS 方面的经验有限,所以我没有过多研究那里可能发生的事情。
CSS 文件的 URL 是:
http://localhost/MySite/Content/Site.css?v=16
响应中的位置标头如下所示:
/MySite/Account/Login?ReturnUrl=%MySite%2fContent%2fSite.css%3fv%3d16&v=16
这让我认为 MVC 正在重定向静态文件或类似的东西,但是如果是这样的话,那么我希望我的所有图像、CSS 和 JavaScript 文件都在做同样的事情,而他们不是。以防万一,这里是 Global.ascx 中RegisterRoutes() 的简化版本:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("", "Account/{action}/", new { controller = "Account" });
routes.MapRoute("", "{action}", new { controller = "Home", action = "Index" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Error",
"{*url}",
new { controller = "Home", action = "ResourceNotFound" }
);
}
另外,如果我将 CSS 文件的名称更改为 Site2.css 并引用它,同样的事情也会发生。
发生了什么事?
【问题讨论】:
标签: asp.net-mvc iis routing http-status-code-302