"Receiving a 403 Forbidden error when trying to access site resources (js, png, css) even though permissions

I am encountering an unusual issue with a website I am currently developing.

The server (apache2) is showing a 403 Forbidden error for some of my resources, particularly the js and css files. I have double-checked the permissions and even set them to 777 to rule out any permission-related issues. An example file that is triggering the error is shown below:

-rwxrwxrwx 1 ftpuser webdevadmin 94083 Jun  5  2018 /home/ftpuser/site/BRG-LAB_Doubs/BRG-LAB_DOUBS_WEB/res/jquery.js*

It's worth noting that the apache user is the same as the owner of the file (ftpuser).

ftpuser  11408  0.0  0.1 1299340 10952 ?       Sl   06:25   0:07  \_ /usr/sbin/apache2 -k start

You can view the website at . Any insights into why the server is not serving the js and css files would be greatly appreciated.

Thank you

Answer №1

Upon reviewing the site, it is evident that the main page originates from while the resources are sourced from * (, , , etc).

Could it be possible that there's no issue with access to /BRG-LAB_Doubs, but a problem exists with accessing /BRG_LAB_DOUBS_WEB?

You mentioned that the resources exist in /home/ftpuser/site/BRG-LAB_Doubs/BRG-LAB_DOUBS_WEB/, indicating that BRG-LAB_DOUBS_WEB is a subdirectory of BRG-LAB_Doubs. However, this doesn't align with how it displays in the browser – using /BRG_LAB_DOUBS_WEB. Could these directories actually be one and the same, or possibly containing duplicate files without correct permissions? The discrepancy between BRG- and BRG_ in the folder names raises suspicions of a potential typo at some point.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Designing a unique diagonal layout with HTML and CSS

Hey there, I have a question about creating diagonal backgrounds in web design. I've seen websites like Udacity and one my friend is working on that feature diagonal shapes or designs in the background. I'm curious about how to achieve this effec ...

loading a dynamic grid using Ajax with jQuery

Setting up a jquery grid on a standard webpage gridPage.html involves incorporating HTML and JavaScript code as follows: $("#gridtable").jqGrid('setGridParam', { data: [ {'type': 'aType', ...

"Learn the technique of displaying or concealing a row in a ListView with the help of

I'm currently utilizing an Asp.net Listview for displaying data in a "grid" format. Below is the code snippet: <asp:ListView ID="lvDmr" runat="server" DataSourceID="dsDmr" DataKeyNames="id"> <ItemTemplate> &l ...

Ways to create a full-window image cover starting from the center point and extending to the right by 50

Seeking assistance from anyone who can help me with my current issue. I am currently utilizing bootsrap 4 and I need to come up with a solution for the following scenario: I have one element that is situated within the standard six columns, while the secon ...

Move the components over to the right

How can I vertically align the user and the search bar on the right side of the page? #search { float: right; margin-top: 9px; width: 250px; } .search { width: 230px; height: 30px; position: relative; line-height: 22px; } ...

How to incorporate a custom JavaScript file into an Angular 7 application

Suppose there is a JavaScript file named mylib.js in an angular 7 application, located at assets/mylib.js: mylib = function(){ return { hi: function() { alert('hi'); } }; }(); If I want to be able to call mylib.hi() in my hero-f ...

What is the best way to handle an AJAX request within an if-else statement?

Attempting to utilize an if-else condition in order to make a jQuery Ajax call to an API. Having trouble understanding why the ajax function is being called even though it should be in the else statement. Below is the code snippet: if (e.value == null | ...

Transferring radio button selections from a form to Google Analytics upon submission

I have a form where I can capture user selections from radio buttons and a drop-down element using the .blur() event. However, I am struggling with pushing this data to Google Analytics (GA) when the user clicks the submit button. Currently, my script loo ...

Tips on how to customize/ng-class within a directive containing a template using replace: true functionality

To keep replace: true, how can ng-class be implemented on the directive below without causing conflicts with the template's ng-class? This currently results in an Angular error: Error: Syntax Error: Token '{' is an unexpected token at co ...

Using the ES6 filter method to iterate through a double nested array of objects

Struggling with filtering a nested array of objects and specifically stuck at the filter part. Any idea on how to eliminate one of the marks? this.state = { data: [ { id: 1, name: "Main", subs: [ { id: "jay", ...

Need help creating perfect round buttons with bootstrap 4?

After incorporating this fiddle into my code, the goal was to design a circular button. View Fiddle Here The code provided is for bootstrap 3. However, when using it with bootstrap 4, the button ends up being square instead of circular. See example here: ...

How can elements in HTML emails be repositioned further down the page?

I am currently designing an HTML email, and I have a very basic element (ul) that I need to reposition lower on the page. After consulting Campaign Monitor's guide, it seems that they do not support negative margins or the position: absolute parent / ...

Locate the parent and child elements within an array

Within the array provided below, there are parent items as well as children. I am currently able to identify parents (depth 0) and their immediate children (depth 1), however I am unsure how to handle deeper nested levels. For reference, you can view the ...

Encountered "Function undefined error when invoking within a map in TypeScript"

In my function, there is a map that looks like this: mainFunc(){ // other logics data.map(function (item) { item.number = Math.round(item.number); item.total = item.last - item.first; item.quantity= item?.quantity ? quantityRange(ite ...

Issue: Unable to locate the module 'nexmo' & error TS2307: 'nexmo' module not found

Currently, I am utilizing the powerful NestJs Framework alongside typescript. My task involves incorporating two-factor authentication (SMS) using the Nexmo node library. You can find further information on their website: During the development phase, ev ...

Resolving Route Problems in Node.js with Express

Currently, I am in the process of developing a website using Express and NodeJS. One issue that I have encountered is related to routing. In my app.js file, I have defined a route that expects a parameter like so: app.get(['/purchase/:purchaseID&apos ...

Steps for stopping the sass --watch function on a specific folder

Successfully got my SASS up and running with the help of fantastic documentation available everywhere. The guide I followed was http://sass-lang.com/guide. sass --watch myfolder/css Running a specific command worked like a charm, enabling every change in ...

Looking for assistance with implementing the Vue CDN script in a Laravel Blade template

Hey everyone, currently I am working on a project called Register Page. My goal is to incorporate Vue cdn and Vue Consoles within the blade template. I have implemented a show/hide option without any console errors appearing. However, when I click on the ...

Limiting the input of a user to a maximum of a five-digit integer with a maximum of two decimal points using Angular 2 and ngModel

Currently, I am working on an input text field that utilizes [(ngModel)]. My goal is to restrict users to entering only a maximum of 5 digits with up to 2 decimal places. I believe creating a directive is the best approach to achieve this, however, I am un ...

Concurrent requests hitting multiple ExpressJS routes simultaneously

While configuring my routes for an expressjs app, I encountered the issue of two routes being executed when accessing a single endpoint. This is an excerpt from my code: app.get("/forgot-password", (req, res) => { .... }); app.get("/:modelName/:id ...