Problem ein Verzeichnis schützen .htaccess mit
Frage
Ich habe eine .htaccess und .htpasswd-Dateien erstellt und im Ordner Ich mag gespeichert schützen und wenn ich in diesem Ordner navigiert, wurde ich für die Benutzername und passowrd (gespeichert in der .htpasswd-Datei) nach der Eingabe gefragt Benutzername und Passwort, ich bekam einen 500 Interner Serverfehler. Ich habe die Dateien sowohl auf localhost (Fenster) und auf einem Web-Server verwendet (Linux glaube ich) beide das gleiche Ergebnis gab erwähnt.
Das ist meine .htaccess-Datei:
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
order deny,allow
Lösung
Ich bezweifle, dass Ihre .htpasswd
Datei wirklich an der Wurzel des Dateisystems des Servers befindet sich zusammen mit /bin
, /usr
, /home
, und andere (nicht innerhalb des Teils des Dateisystems auf dem Web-Browser bedient).
Nach Apache Dokumentation ( 1 , 2 ) erwartet AuthUserFile
einen Dateipfad (als ob Sie waren in ServerRoot, in der Regel /usr/apache
oder ähnlich, und versucht, die Datei aus dem Unix-Shell) zu lokalisieren. Es kann nicht eine URL, entweder absolut oder relativ sein. Korrigieren Sie Ihren .htpasswd
Dateipfad entsprechend.
Beachten Sie, wenn möglich, sollten Sie die .htpasswd
Datei in einem public_html
oder htdocs
Ordnern nicht setzen, weil jeder Konfigurationsfehler nicht nur unberechtigten Zugriff erlauben könnte zu den Dateien, die Sie schützen wollen, sondern auch die autorisierten Benutzername und Hash-Passwörter.
Andere Tipps
Verwenden Sie einen absoluten Hosting-Pfad, zB:
/home/content/14/5267714/html/.htpasswd