Apache ne pas servir des fichiers en “javascript” répertoire. Pourquoi?
Tout d'un coup, j'ai commencé à faire une erreur 404 pour les fichiers comme http://example.localhost/javascript/jquery.min.js
Auparavant tout fonctionnait très bien. Je n'ai pas changer de configs, au moins pas manuellement.
Mais maintenant si je vais l'essayer pour accéder à la /javascript
répertoire lui-même, je voudrais obtenir "Cannot serve directory /usr/share/javascript/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
dans le journal des erreurs d'Apache.
OriginalL'auteur uKolka | 2014-02-11
Vous devez vous connecter pour publier un commentaire.
J'essayais de trouver une solution à ce sur Pile Overflow, mais je ne pouvais pas. Donc je vais juste laisser ça ici, si quelqu'un arrive à rencontrer le même problème.
Alors, pourquoi diable aurait-il regarder dans le répertoire /usr/share/javascript au lieu de ce que j'avais configuré dans le serveur Virtuel. À la figure que j'ai fait quelque chose comme ce qui suit:
Après googler pour que le nom de fichier de configuration, j'ai trouvé quelques explications.
Je ne sais pas pourquoi, mais j'ai eu l' javascript-commune paquet installé.
Il ne semble pas nocif pour se débarrasser d'elle, donc faire
$ sudo apt-get purge javascript-common
résolu le problème pour moi.OriginalL'auteur
La question:
C'est le paquet qui crée
/usr/share/javascript
alias et permet dans le serveur web Apache.Solution recommandée
Et c'est tout. Vous n'aurez pas d'autre problème avec javascript répertoires. Un autre correctif pourrait être de renommer
/usr/share/javascript/
à/usr/share/javascript-common/
, puis ajuster l'Alias dansjavascript-common.conf
pour pointer vers le répertoire renommé. Je ne sais pas encore si cela va affecter toute future mise à jour.Un Autre Correctif:
Aller à
/etc/apache2/conf-available/javascript-common.conf
. Vous trouverez ceci:Donc vous avez juste à commenter ces lignes (avec les
#
char) (il n'est pas recommandé de modifier directement le fichier de conf-enabled) pour éviter l'erreur forbidden. Après cela, faites ceci:OriginalL'auteur
Vous n'avez pas besoin de modifier le fichier conf ou purger le paquet juste désactiver.
Si pour une raison quelconque vous voulez utiliser cette conf:
OriginalL'auteur
Je suis sur un Debian de la machine, et il n'y a pas de a2disconf de commande. J'ai trouvé le
/etc/apache2/conf.d
répertoire est un lien vers/etc/javascript-common/javascript-common.conf
.J'ai modifié ce fichier (en tant que root) et cela a changé alias
/javascript-common
au lieu de/javascript
par la modification de la ligne supérieure pouret de l'enregistrer et redémarrer Apache.
OriginalL'auteur
J'ai juste eu un problème similaire sur un système Ubuntu. Apparemment, le
javascript-common
paquet a été arrosé à un certain point dans le temps et dans l'configurer le script ne s'exécute pas correctement. Retraitjavascript-common
et de réinstaller avec apt-get ne serait pas le fixer. J'ai dû:Et qui semble résoudre le problème. C'est un Ubuntu 16.04 LTS (Xenial Xerus) du système qui a été mis à niveau à partir de Ubuntu 14.04 LTS (Trusty Tahr).
OriginalL'auteur
Désinstaller
apache2
et supprimer ces dossiers:Puis réinstaller
javascript-common
etapache2
.OriginalL'auteur