web-dev-qa-db-fra.com

Interdit 403 pour le fichier js sur localhost?

toutes mes excuses si ce n'est pas le bon endroit pour poster ça. Je l'ai posté sur Stack Overflow et un utilisateur m'a suggéré de le mettre ici.

Quoi qu'il en soit, j'ai parcouru google et le site et aucune des solutions que j'ai essayées n'a fonctionné ... mon problème nécessite peut-être quelque chose d'un peu plus spécifique.

Lorsque ce site est hébergé sur un site de test, cela fonctionne bien, mais lorsque j'essaie de l'afficher sur mon site localhost, j'obtiens cette erreur lorsque j'utilise "Inspect Element" sur Chrome:

Failed to load resource: the server responded with a status of 403 (Forbidden)

Je peux dire que mon site n'accède pas correctement au fichier jQuery car le jQuery qui fonctionne parfaitement sur mon site de test Go Daddy (un petit outil sympa appelé Tablesorter) ne fonctionne plus.

Le fichier jquery.min.js se trouve dans un répertoire appelé js. Voici l'intégralité de la tête dans mon fichier html.

<head>
<title>Corporate Dude, Data Management</title>
<script type="text/javascript" src="js/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery.tablesorter.js"></script>
<link rel="stylesheet" type="text/css" href="style.css?v=1.9"/>
<script type="text/javascript">
    $(document).ready(function() 
        { 
            $("#data_table").tablesorter(); 
        } 
    );
</script>
</head>

Ce qui est étrange, c'est que lorsque je déplace le fichier style.css dans le répertoire js et que je change le chemin en js/style.css, le fichier css fonctionne parfaitement. Cela signifie-t-il qu'il ne s'agit pas d'un problème d'autorisations ou s'agit-il simplement d'une particularité de la manière dont href fonctionne dans la balise link?

J'ai essayé d'aller au terminal et de taper cd/Users/nom_utilisateur/mylocalhostfile/"Corporate Guy"/js puis de taper chmod 0755 pour donner l'autorisation d'accéder au répertoire, mais cela ne fonctionnait pas non plus. Est-ce la bonne façon d'attribuer des autorisations via le terminal?

Merci pour toute l'aide que tu peux m'apporter.

3
MarvinLazer

Autorisations et propriété des dossiers et des fichiers

Il semble que vous ayez des problèmes de propriété plutôt que d’autorisations de fichiers. Faire un chmod 0755 fera ce qui suit:

  • Propriétaire: Write - Read - Execute
  • Groupe: Read - Execute
  • Public: Read - Execute

Cela devrait permettre aux utilisateurs de lire le répertoire, mais cela ne signifie pas nécessairement que les fichiers peuvent être lus ou écrits par Apache ou le serveur Web que vous utilisez, car vous n'avez pas utilisé l'option -R qui modifiera les dossiers de manière récursive. et fichier prémissions. Vous devriez pouvoir résoudre ce problème facilement, suivez simplement les étapes ci-dessous.

Modifiez la propriété du dossier du site Web par celle de votre processus de serveur Web (dans le cas présent Apache).

  • chown -R www-data:www-data /home/$USER/public_html

Ensuite, vous pouvez vous ajouter au groupe www-data en faisant:

  • adduser $USER www-data

Modification du dossier et des autorisations de dossier

  • chmod -R 775 /home/$USER/public_html
3
Simon Hayter