new - Los paquetes CSS de ASP.NET MVC framework 4.5 no funcionan en el alojamiento
tutorial asp.net mvc 5 español (10)
Descubrí que el archivo bootstrap.css no estaba en la carpeta de contenido, así que lo busqué en los paquetes y lo pegué allí ... ¡funcionó!
Estoy ejecutando una aplicación en puerto de aplicaciones escrita en MVC4.
Un paquete de archivos css no funciona. En mi computadora local, en modo de depuración, veo el código de la aplicación y veo los archivos. La aplicación funciona como se esperaba
<link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/>
<link href="/Content/css/home/Home.css" rel="stylesheet"/>
Cuando cargo la aplicación en Appharbor, veo el paquete en el código pero la aplicación no funciona.
<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>
Cuando navego por ese enlace en el href
obtengo 403 - Prohibido: acceso denegado.
Cómo solucionar esto?
El problema también puede provenir del archivo cifrado. Esto se me ocurrió cuando descargué BootStrap y usé los archivos suministrados. Mostraron verde en el explorador de Windows y funcionaron bien en Visual Studio, pero cuando se implementaron, obtuve un error 403.
Puede ver si están encriptados yendo a propiedades, luego propiedades avanzadas y hay una casilla de verificación encypted.
Desmarque y ya no será un problema.
Este problema es por defecto .NET no "procesa" las solicitudes que tienen una extensión .js o .css.
Hay dos soluciones para esto (solo necesita hacer UNA)
A) Elimine las extensiones de los nombres del paquete. (recomendado) Esto hará que .NET procese la solicitud y la ejecute a través del BundleModule.
B) Agregue esto a su web.config en la sección system.webServer que hará que .NET ejecute solicitudes .js y .css a través del BundleModule.
<modules runAllManagedModulesForAllRequests="true">
<remove name="BundleModule" />
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
Gran saludo a Ray Moro, quien descubrió la causa real y la compartió conmigo en mi blog: http://blog.cdeutsch.com/2012/11/fixing-404-errors-for-aspnet-mvc-apps.html
Esto también se aplica a la ''clase ScriptBundle'', asegúrese de que el ''nombre del parámetro'' para el constructor no coincida con una ruta en el sistema de archivos de la aplicación web. Recuerde que IIS intentará entregar el archivo / solicitud.
Lo que hago es muy simple,
Agrego "js" al final de ScriptBundle como lo siguiente: nuevo ScriptBundle ("~ / bundles / appjs") Y añado "css" al final de StyleBundle como lo siguiente: new StyleBundle ("~ / content / appcss")
Los nombres de mi carpeta nunca terminan con "js" o "css".
Deberias hacer eso.
Sé que tengo 4 años de retraso en esta pregunta, pero esto funcionó para mí.
public static void RegisterBundles(BundleCollection bundles)
{
...
BundleTable.EnableOptimizations = true; // Added this
}
Supongo que la ruta Content/css
existe en el disco de tu aplicación. En este caso, IIS manejaría la solicitud, no MVC.
Asegúrese de que la ruta virtual para el paquete (el parámetro del constructor StyleBundle) no coincida con una carpeta en el sistema de archivos.
De los comentarios:
"Una buena convención a seguir al crear paquetes es incluir" paquete "como un prefijo en el nombre del paquete. Esto evitará un posible conflicto de enrutamiento".
También sucedió conmigo cuando intenté implementar mi aplicación ASP.NET MVC en AppHarbor.
Tenía un paquete de hojas de estilo con el nombre
@Styles.Render("~/Content/bootstrap")
y la estructura de la carpeta era
-- Contenido
- Contenido / Bootstrap / ...
Con solo cambiar el nombre del paquete a "~/Content/bootstrap-css"
mi problema fue resuelto.
Tengo el mismo problema con ese error (403 Prohibido). En mi caso, el motivo es que el servidor proxy de mi organización bloquea mi archivo css. El nombre del archivo Css coincide con una de las reglas de bloque.
403 error resuelto. aquí hay una explicación detallada y una solución para el error 403.
La solución se demuestra para el paquete de CSS. Sin embargo, también se aplica a JavaScript.
http://www.mvccentral.net/Story/Details/articles/kahanu/stylebundle-403-error-solved
En pocas palabras, asegúrese de que la ruta virtual [Script | Style]Bundle("~/content/[script | css]")
[Script | Style]Bundle("~/content/[script | css]")
no coincide con una carpeta en el sistema de archivos (por ejemplo, C:/approot/Content/[script | css]
) en su lugar [Script | Style]Bundle("~/content/[scriptDiff | cssDiff]")
[Script | Style]Bundle("~/content/[scriptDiff | cssDiff]")