.htpasswd et .htaccess - erreur interne du serveur
en espérant que quelqu'un pourrait être en mesure d'aider à comprendre le problème ici! J'ai cherché sur google pour plus de 2 heures et rien j'essaie de travail est...
Je veux protéger par mot de passe de mon site, mais dès que j'ai ajouter dans le .htpasswd et .htaccess j'obtiens une erreur de serveur:
Erreur Interne Du Serveur
Le serveur a rencontré une erreur interne ou de mauvaise configuration et a été incapable de compléter votre demande.
Veuillez contacter l'administrateur du serveur et de les informer du moment où l'erreur s'est produite, et tout ce que vous pourriez avoir fait qui peut avoir causé l'erreur.
Plus d'informations sur cette erreur peut être disponible dans le journal des erreurs du serveur.
Voici le code que j'utilise:
.htaccess
AuthType Basic
AuthName "Top Secret for SongKick eyes only."
AuthUserFile /webroot/.htpasswd
require valid-user
.htpasswd
songkick:isS1rCTQE/p8E
J'ai aussi essayé de AuthUserFile /.htpasswd (ie. sans "racine", qui est le nom du dossier, il apparaît dans le Gestionnaire de Fichier) mais cela ne fonctionne pas non plus.
Je suis en utilisant GoDaddy hébergement btw, si cela fait une différence.
Toute aide est très appréciée - je ne suis pas un développeur afin de ne pas comprendre beaucoup de termes utilisés dans de nombreux articles d'aide!
source d'informationauteur Leanne Beesley
Vous devez vous connecter pour publier un commentaire.
Selon
AuthUserFile
vous devez fournir le chemin complet vers le fichier de mot de passe, pas le chemin relatif à partir deDocumentRoot
si elle est absolue (c'est à dire en commençant par une barre oblique).Noter que
ServerRoot
n'est pasDocumentRoot
.Si
DocumentRoot
est/var/www
et le fichier de mot de passe est/var/www/webroot/.htpasswd
vous devez diredans votre .fichier htaccess.
Vous pouvez trouver sur le chemin d'accès absolu avec un petit script PHP, par exemple
Mettre cela dans le répertoire où vous voulez localiser les .un fichier htpasswd, et de l'appeler avec
http://www.example.com/path/to/test.php
N'oubliez pas de supprimer le script, quand vous êtes fait.
Dit, vous ne devriez pas mettre votre fichier de mot de passe accessible de n'importe où dans votre
DocumentRoot
. Mieux le mettre dans un endroit non accessible depuis le web, c'est à dire/etc/apache2/htpasswd
ou partout où cela vous convient.Deux choses viennent à l'esprit.
Est
.htpasswd
lisible par l'utilisateur du serveur web?Savez-vous si Apache est configuré avec
AllowOverride all
pour permettre.htaccess
à fonctionner comme prévu?Principale raison de cette erreur est la "AuthUserFile" chemin d'accès. J'ai eu ce même problème et je l'ai résolu en allant dans cpanel. En protégeant votre dossier dans cPanel, il détecte automatiquement le fichier htpasswd.
Aller à cPanel->Mot de passe Protéger des Répertoires->Définir le répertoire, puis créer un utilisateur. Espérons que cette aide vous.
Toutes les réponses standard (chemin d'accès complet au format correct, etc) n'ont pas de travail pour moi. Après beaucoup de suivi, j'ai constaté que les autorisations sur le dossier parent étaient insuffisantes, de sorte que même si le chemin dans .htaccess était correcte et les autorisations sur le fichier rw-r-r, toujours pas y aller parce que le parent a été rwx-rw--. Qui peut être difficile à traquer sur un ordinateur hôte qui limite l'accès à des flux de dossiers.