ASP.NET MVC: CSS-Datei Rückkehr 302 Fehler, wenn er vorhanden ist
Ich bin immer ein 302 Fehler der Rückkehr auf einer einzigen CSS-Datei auf eine ASP.NET MVC 2-Website im localhost an diesem morgen, und ich weiß nicht was ich geändert haben würde, dieses zu verursachen.
Den localhost Website verwendet IIS 7.5, aber ich habe nur wenig Erfahrung mit dem IIS also ich habe nicht sah, um vieles in dem, was könnte dort passiert.
Die URL zur CSS-Datei ist:
http://localhost/MySite/Content/Site.css?v=16
und der location-header auf die Antwort sieht wie folgt aus:
/MySite/Account/Login?ReturnUrl=%MySite%2fContent%2fSite.css%3fv%3d16&v=16
Dies lässt mich denken, dass MVC ist die Umleitung der statischen Datei oder etwas wie das, aber wenn das der Fall war, dann würde ich erwarten, dass alle meine Bilder, CSS-und JavaScript-Dateien zu tun das gleiche, was Sie nicht sind. Nur für den Fall, hier ist eine vereinfachte version des RegisterRoutes()
im Globalen.ascx:
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" }
);
}
Auch, wenn ich den Namen ändern, der meine CSS-Datei zu Standort2.css und Referenz, stattdessen das gleiche passiert.
Was ist Los?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Redirect auf die logon-Methode macht es so Aussehen, wie das ist, weil der Berechtigungen auf das Verzeichnis oder die Datei eher als ein MVC-route fangen. (Wenn Sie gefangen wurden, von einem MVC-route, es würde wahrscheinlich eher in einem Fehler resultieren ermitteln, welcher controller und/oder action verwenden.)
ASP.NET MVC lässt sich statische Dateien allein, aber wenn ASP.NET im Allgemeinen entscheidet, dass die anonymen Benutzer keinen Zugriff auf die CSS-Datei oder Verzeichnis, ASP.NET wird redirect auf die Login-URL ein ASP.NET MVC-Aktion.
Sieht aus wie die Autorisierungs-Regeln im web.config sagen, dass Sie müssen authentifiziert werden, um zu sehen, die css-Seiten. Sie sollten in der Lage sein zu beweisen, indem Sie sich anmelden und sehen, wenn Sie können, Holen Sie sich die css-Datei ordnungsgemäß zugestellt werden kann.
Ich würde hinzufügen im Abschnitt Speicherort für das web.config entfernen Sie die Autorisierung-Anforderung auf der Inhalts-Verzeichnis. Entnommen aus http://support.microsoft.com/kb/316871