Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Failed to load resource: 403 forbidden with .js Optimization

Tags:

I'm trying to minify my .js and .css files.

I've installed the packed Install-Package Microsoft.AspNet.Web.Optimization

When ever i active the Optimization with BundleTable.EnableOptimizations = true;

I receive this error on the client:

Failed to load resource: the server responded with a status of 403 (Forbidden) http://localhost:22773/Content/themes/elevation/v=gnDLBbf1VVRuQDXtIYn1q0P3ICZG7oiwwgxPRbaLvqI1

Anyone have an idea of what I'm doing wrong?

---BundleConfig info-------------------------------

 public class BundleConfig {     public static void RegisterBundles(BundleCollection bundles)     {         BundleTable.EnableOptimizations = true;          bundles.Add(new ScriptBundle("~/bundles/myJquery").Include(             "~/Scripts/jquery-1.9.1.js",           "~/Scripts/jquery-ui-1.10.1.custom.js",             "~/Scripts/jquery.signalR-1.0.1.js",             "~/Scripts/signalr-hubs.js",             "~/Scripts/Controls/Select/Simple/jquery.ui.selectmenu.js"         ));           bundles.Add(new ScriptBundle("~/bundles/shared").Include(             "~/Scripts/global/prototypes.js",             "~/Scripts/global/mathutil.js",             "~/Scripts/global/elevationevents.js"             ));           bundles.Add(new ScriptBundle("~/bundles/core").Include(             "~/Scripts/elevation/core/sys.config.js",             "~/Scripts/elevation/core/bays.js",             "~/Scripts/elevation/core/door.js",             "~/Scripts/elevation/core/horiziontal.js",             "~/Scripts/elevation/core/vertical.js"));           bundles.Add(new StyleBundle("~/Content/themes/elevation").Include(             "~/Content/themes/dialogs/dialogs.css",             "~/Content/themes/social/ac/acSocial.css",             "~/Content/themes/elevation/elevation.css"       ));     } } 

-----------------------------I still have not got this figured out---------------------

I'm using 2013 .net and iis8 on a windows7 OS

Here is my latest error, I cannot take my solution out of debug mode, because if I do I get that error below.

    HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory.  Most likely causes: A default document is not configured for the requested URL, and directory browsing is not enabled on the server.  Things you can try: If you do not want to enable directory browsing, ensure that a default document is configured and that the file exists. Enable directory browsing. Go to the IIS Express install directory. Run appcmd set config /section:system.webServer/directoryBrowse /enabled:true to enable directory browsing at the server level. Run appcmd set config ["SITE_NAME"] /section:system.webServer/directoryBrowse /enabled:true to enable directory browsing at the site level. Verify that the configuration/system.webServer/directoryBrowse@enabled attribute is set to true in the site or application configuration file.  Detailed Error Information: Module     DirectoryListingModule Notification       ExecuteRequestHandler Handler    StaticFile Error Code     0x00000000 Requested URL      http://localhost:1499/Content/themes/elevation/?v=aukmuLTC3g_fDko3eWmzqq7A8miRqgsJKXA2GO3w-pg1 Physical Path      c:\users\administrator\documents\visual studio 2013\Projects\AlumCloud\AlumCloud\Content\themes\elevation\ Logon Method       Anonymous Logon User     Anonymous Request Tracing Directory      C:\Users\Administrator\Documents\IISExpress\TraceLogFiles\ALUMCLOUD(3)  More Information: This error occurs when a document is not specified in the URL, no default document is specified for the Web site or application, and directory listing is not enabled for the Web site or application. This setting may be disabled on purpose to secure the contents of the server. View more information » 

Here is the url that is created by iis8 when not in debug mode that produces the error

http://localhost:1499/Content/themes/elevation/?v=aukmuLTC3g_fDko3eWmzqq7A8miRqgsJKXA2GO3w-pg1 

Here is the url that returns the actual .css file with out any error

http://localhost:1499/Content/themes/elevation/elevation.css 
like image 807
Filling The Stack is What I DO Avatar asked Oct 31 '13 16:10

Filling The Stack is What I DO


People also ask

Why do I keep getting 403 Forbidden?

The 403 Forbidden error means that your server is working, but you no longer have permission to view all or some of your site for some reason. The two most likely causes of this error are issues with your WordPress site's file permissions or . htaccess file.

How do I fix 403 Forbidden nginx?

However, if the specified index files are not in the directory, Nginx will return 403 forbidden error. One way to resolve this issue is to add the index file specified in the configuration file or add the available index file to the config file.

What is a 403 Forbidden error?

Before going deep for the solving tips, you have to go through the definitions for 403 forbidden errors. The failed to load resource: the server responded with a status of 403 (forbidden) error messages that are going to appear on your screen when you are trying to open in your web browser from unknown resources.

What is ‘failed to load resource’ error?

Now for those who have never been acquainted with ‘Failed to Load Resource” Error – we all know that WordPress systems, Plugins, themes run on PHP scripts which automatically send requests to communicate with the resources stored on your server. When something interferes with these requests, the platform fails to fetch the resources.

Why am I getting 403 error on my Taisa website?

Thanks! a 403 error is “forbidden”, meaning your webserver is configured not to allow files in wp-content/cache/autoptimize being accessed from the outside Taisa. You’ll have to check directory permission in wp-content/cache (and deeper) to allow the webserver access to those directories & files.

What to do if a WordPress resource fails to load?

In case, if the failed resource is a WordPress plugin or theme file, then the easiest way to replace it is by reinstalling the plugin or theme. First, you need to deactivate your current WordPress theme. All you have to do is visit the Appearance » Themes page.


2 Answers

Just had the same issue. In my case, the solution was to give the Content bundle a different name. I think that happen because IIS intercepts the requests and treat the bundle name as a directory and since the Content folder really exists, it returns the forbidden error. So, you could rename ~/Content/themes/elevation to say ~/css/themes/elevation

bundles.Add(new StyleBundle("~/css/themes/elevation").Include(             "~/Content/themes/dialogs/dialogs.css",             "~/Content/themes/social/ac/acSocial.css",             "~/Content/themes/elevation/elevation.css"       )); 

Also, don't forget to adjust your markup/master page to use the revised bundle name, i.e.

<%: Styles.Render("~/css/themes/elevation") %> 

Then add location directives to the web.config to allow access to the bundles:

<location path="css">     <system.web>       <authorization>         <allow users="*" />       </authorization>     </system.web>   </location>   <location path="bundles">     <system.web>       <authorization>         <allow users="*" />       </authorization>     </system.web>   </location> 

Hope this helps.

like image 161
Denis Ivin Avatar answered Oct 31 '22 16:10

Denis Ivin


you have to keep the bundle name similar to the actual path of the resources. otherwise system cannot find resources when compiled with debug='false' or BundleTable.EnableOptimizations = true;. because system uses the bundle name to generate the link for the resources. so your bundle names should be like this -

bundles.Add(new ScriptBundle("~/Scripts/myJquery").Include(     "~/Scripts/jquery-1.9.1.js",     "~/Scripts/jquery-ui-1.10.1.custom.js",     "~/Scripts/jquery.signalR-1.0.1.js",     "~/Scripts/signalr-hubs.js",     "~/Scripts/Controls/Select/Simple/jquery.ui.selectmenu.js" ));  bundles.Add(new ScriptBundle("~/Scripts/global/shared").Include(     "~/Scripts/global/prototypes.js",     "~/Scripts/global/mathutil.js",     "~/Scripts/global/elevationevents.js" ));  bundles.Add(new ScriptBundle("~/Scripts/elevation/core/core").Include(     "~/Scripts/elevation/core/sys.config.js",     "~/Scripts/elevation/core/bays.js",     "~/Scripts/elevation/core/door.js",     "~/Scripts/elevation/core/horiziontal.js",     "~/Scripts/elevation/core/vertical.js" ));  bundles.Add(new StyleBundle("~/Content/themes/dialogs/dialog").Include(     "~/Content/themes/dialogs/dialogs.css" ));  bundles.Add(new StyleBundle("~/Content/themes/social/ac/ac").Include(     "~/Content/themes/social/ac/acSocial.css" )); 

Edit This will work on IIS 6. However for IIS 7 or 7.5 the solution is something else. I faced the same problem when I deployed an application in IIS 7.5. The solution is to install a hotfix as discussed in ASP.NET MVC 4 on IIS 7.5, returns 404. Something to do with extensionless route mapping and ASP.NET 4.5 MVC 4 not working on Windows Server 2008 IIS 7

like image 37
th1rdey3 Avatar answered Oct 31 '22 14:10

th1rdey3