HTTP Error 403.14 - Forbidden - MVC4 .net 4.5 bundles
Asked Answered
T

4

27

I made a MVC4 application with .net 4.5 using razor engine. It works fine when run locally with visual studio.

When I deploy to IIS on windows server 2008 R2(all windows updates done), it appears my bundles do not work and the CCS is not loading. I tried viewing the site on the server, viewed source went to the bundle link for the css, and it loads some css and then there is an IIS error of:

HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory.

What I have tried:

1) Ensured .net 4.5 is installed.
2) Added <modules runAllManagedModulesForAllRequests="true"/> to my web.config
3) Ran %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir in cmd
4) Checked that my app pool was set to Integrated Mode
5) Checked that it's set to use .net 4

Tinware answered 20/11, 2012 at 21:38 Comment(4)
What are the permissions on the folder that you are serving assets from?Concertmaster
@John The application pool and ISUSR both have Read permissions on the folder.Tinware
Can you show the bundling code? Have you checked if compilation debug is false with the correct target framework?Assr
I got some problem. Any hints ? Also Windows 2008 R2 and IIS 7Wisconsin
K
46

You'll find your answer here: ASP.NET MVC framework 4.5 CSS bundles does not work on the hosting

The short answer is to make sure that your bundle names don't conflict with the names of paths in your sites.

Kelter answered 8/12, 2012 at 2:57 Comment(3)
Saved me a lot of time for sure... This fixed my problem, my "~/Content/Template" bundle was conflicting with my physical folder. All I needed to do was to rename the name of my bundle.Zetes
Glad my answer helped you out. This one drove me nuts for several hours one afternoon!!Kelter
Thank you. You helped me too! Btw, do you know why this occur only with the css bundles? I have the same config in js bundles and it work fine.Neoimpressionism
B
7

This solved it for me (solution is from MVC4 HTTP Error 403.14 - Forbidden)

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>
Breadwinner answered 14/3, 2013 at 18:28 Comment(1)
While it might solve the problem, it's like killing a fly with a rocket launcher. runAllManagedModulesForAllRequests has performance impacts on your site, as all managed modules will be run for all requests, including requests for static files like images.Mounting
D
2

Make sure that in your web.config you have enabled anonymous access to your "virtual" bundles paths.

For instance, if your style bundles are like "~/content/blahblah" and your javascript bundles are like "~/scripts/blahblah" you must open anonymoys access to locations "content" and "scripts" like this in your web.config:

<configuration>
 ...
 <location path="content">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>

 <location path="scripts">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>
 ...
</configuration>

This way, any request to the virtual path "~/content" or "~/scripts" by any user will be granted, and the CSS and JS requests will be served.

Domeniga answered 10/12, 2012 at 11:34 Comment(0)
C
1

Another potential problem that causes the 403.14 is the global.asax and/or the web.config not being copied across in your publishing settings or deployment.

Charybdis answered 9/10, 2015 at 8:0 Comment(2)
Thank you this helped me to solve the issue. Actually for me the App_global.asax.compiled file was missing!Alpine
This solved my problem. App_global.asax.compiled and App_global.asax.dll is missing in my bin folder. Not sure what happened. I wouldn't have checked this if not because of this comment from @Salar.Mathias

© 2022 - 2024 — McMap. All rights reserved.