Recibo un error 302 volviendo en un único archivo CSS en un sitio ASP.NET MVC 2 en localhost esta mañana y no sé qué haría han cambiado para causar esto.ASP.NET MVC: archivo CSS que devuelve un error 302 cuando existe
El sitio localhost usa IIS 7.5, aunque he tenido una experiencia limitada con IIS, así que no he analizado mucho de lo que podría estar pasando allí.
La URL para el archivo CSS es:
http://localhost/MySite/Content/Site.css?v=16
y la cabecera de ubicación en la respuesta se parece a esto:
/MySite/Account/Login?ReturnUrl=%MySite%2fContent%2fSite.css%3fv%3d16&v=16
Esto me hace pensar que MVC está redirigiendo el archivo estático o algo así, sin embargo, si ese fuera el caso, entonces esperaría que todas mis imágenes, CSS y archivos de JavaScript hicieran lo mismo que ellos. Por si acaso, aquí es una versión simplificada de RegisterRoutes()
en Global.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" }
);
}
Además, si cambio el nombre de mi archivo CSS para Site2.css y referencia que en cambio, ocurre lo mismo.
¿Qué está pasando?
Ahh eso es todo. Era un problema de permisos en ese archivo CSS específico en lugar de todo el directorio de contenido (lo que habría hecho que ocurriera lo mismo para todo el contenido estático). Sin embargo, aún no estoy seguro de cómo se cambiaron esos permisos. Dar derechos a la cuenta que AppPool estaba usando para la autorización solucionó el problema. – ajbeaven
Tuve el mismo problema y fueron los permisos en el archivo en sí y no solo en el directorio. – EtienneT
Ya lo comprobé, esta respuesta me hizo volver a verificar ... el mío no estaba solo en el archivo, pero me hizo revisar los permisos por quinta vez, ya que confirmó lo que había pensado ... en mi caso, mi entorno comparado abofeteó a "Usuarios "grupo en la carpeta de sitios. No diría que es una buena práctica, simplemente resultó ser el grupo al que le faltaba el medio ambiente. El uso de IUSR trabajó directamente, por supuesto, pero los mantuve emparejados para evitar confusiones. – Tony