• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.htaccess - Anfängerfrage - internal Server error

Lenchen

Neues Mitglied
Hallo
Ich habe bisher noch nie mit htaccess gearbeitet, sondern immer mit eigenen Login-bereichen. Für meinen jetzigen Anwendungszweck wär htaccess jedoch ideal, aber ich bekomms nicht hin.
Habe mir versucht eine möglichst einfache Datei zu bauen, nach Selfhtml
.htaccess:
Code:
AuthType Basic
AuthName "blub"
AuthUserFile /html/a/b/.htusers
Require user  Name

.htusers:
Code:
Name:Passwort
Beide Dateien liegen im Ordner /html/a/b
Bei Aufrufen von a.domain.de/b (bei domain.de/a/b auch) bekomme ich jetzt beim ersten Aufruf die Aufforderung, ein Passwort einzugeben aber nach Angabe des richtigen Passworts nur einen internal Server Error, und dann auch nach Aktualisieren keine neue Chance ein Passwort einzugeben. Was mache ich falsch?
 
Werbung:
Hast Du die .htusers-Datei mit dem htpasswd-Tool erzeugt und ist das Passwort dadurch auch verschlüsselt?
 
Soweit ich das bei selfhtml verstanden hatte darf das Passwort bei der Angabe "AuthType Basic" nicht verschlüsselt sein, deshalb habe ich es unverschlüsselt eingetragen. Ich habe für diese Datei mit keinem Tool gearbeitet, hätte ich das machen sollen? Vorher hatte ich aber versucht, das Passwort mit einem Tool des Serveranbieters festzulegen, da wurde eine .htpasswd-Datei erstellt in der das Passwort auch verschlüsselt war, allerdings hatte das ganze keinen Effekt, das Verzeichnis war weiterhin ohne Passwort zu öffnen, daher habe ich es dann selbst versucht.
 
Werbung:
Hast Du falsch verstanden. In dem Abschnitt dort geht es um den Übertragungsweg vom Browser zum Server, nicht um die htuser-Datei selbst. Das Passwort kannst Du auch auf der Seite dort verschlüsseln lassen, dafür gibt es unten ein Eingabefeld. Aber Achtung: gilt offenbar nur für nicht-Windows-Systeme, siehe die von dir verlinkte Seite. Bei einem Windows-System muss man es offenbar nicht verschlüsseln (habe ich nie gehabt da ich Windows nicht als Webserver nutze).

Das nach Abschicken des Passworts ein Internal Error kommt spricht auch noch dafür, dass nach der Authentifizierung irgendetwas falsch ist. Diese funktioniert vermutlich. Also könnte diese Fehlermeldung auch durch irgendetwas anderes verursacht werden. Näheres sollte in den Error-Logs vom Server stehen. Stelle auch sicher, dass der Pfad /html/a/b/.htusers wirklich der absolute Pfad ist unter dem die Datei liegt.
 
Habs gerade mal mit dem Tool verschlüsselt, aber leider komme ich trotz aktualisieren und .htaccess löschen und wieder hochladen etc gar nicht mehr zum Eingabefenster sondern immer gleich zum server error, der witzigerweise nicht als Servermeldung auftaucht.
server.jpg

Um genau zu sein taucht keine einzige Fehlermeldung auf, auch nicht, wenn ich auch "Fehler" stelle. Ist da was falsch eingestellt? Ich habe bisher immer fröhlich vor mich hin geschrieben und den Server als "Hardware" eher ignoriert, sondern nur zum Ausführern und Speichern der Dateien genutzt :???:
 
Hast Du deinen Browser beendet und neugestartet? Eine Authentifizierung gilt solange wie dies nicht geschieht. Daher kommst Du sofort zur Fehlermeldung.

Ich kenne mich mit dieser Ansicht (Plesk?) nicht sonderlich aus. Allerdings sieht es für mich wenig vertrauenserweckend aus - da stehen sicher nicht alle Fehlermeldungen die es tatsächlich gibt.

Was hast Du denn sonst noch in der htaccess-Datei stehen? Wird beim Aufruf eine .php-Datei aufgerufen? Wenn ja, könnte das Problem durch diese entstehen?
 
Werbung:
Ups, danke das mit dem Neustarten wusste ich nicht. Nach dem Anmelden kommt leider trotzdem der Fehler, sowohl mit dem unverschlüsselten, als auch mit dem verschlüsselten Passwort.
Sonst steht nichts in der .htaccess, ich wollte mich langsam vortasten und habe daher die selfhtml-Vorlagen kopiert und die groups gelöscht (brauche ich vorerst nicht) und einen Nutzer eingetragen, in der groups-Datei steht auch nur ein Nutzer.
Aufgerufen wird die index.php dieses Ordners, die ist aber einfach nur zu Testzwecken aus einem anderen Verzeichnis kopiert und macht in diesem Verzeichnis ohne .htaccess keine Probleme (Bilder, css und includes gehen wegen falschen Pfaden nicht, aber das führt ja eigentllich nicht zu einem solchen Fehler). Werde es aber gleich noch mal mit einer simplem html-Datei versuchen.
 
Der Ordner html liegt im obersten Verzeichis auf das ich Zugriff habe, /html/a/b/.htusers ist der Pfad, den mir das ftp-Programm als Pfad anzeigt, der Ordner html hat laut FileZilla den Pfad /html, er liegt zusammen in einem Ordner mit .config, atd, backup, ....
 
Werbung:
Dann ist es nicht der absolute Pfad. Steht auch in dem selfhtml-Artilel beschrieben wie man an diesen kommt.
 
Den Provider fragen?
Es sollte der vollständige absolute Pfadname angegeben werden. Das ist also nicht der Pfad ab dem Wurzelverzeichnis Ihres Web-Projekts. Fragen Sie dazu gegebenenfalls Ihren Webhosting-Provider oder Webmaster. Sie können zwar auch eine Angabe machen, die relativ zum Wurzelverzeichnis des Webservers (das oft /usr/lib/apache/ lautet) interpretiert wird. In der Regel ist das aber ein zentrales Installationsverzeichnis, auf das Sie keinen Zugriff haben.
Oder habe ich das falsch verstanden? Habe auch schon die Hilfeseiten und das Forum meines Providers durchsucht, aber keine Antwort gefunden, dort steht nur wie man mittels der .htaccess zwischen den php-Versionen wechselt, aber nichts über Verzeichnisschutz. Dafür habe ich jetzt rausgefunden, wie ich das error-log anschalten kann.
Danke für deine Hilfe! Ich werde dann wohl morgen mal meinen Provider befragen.
 
Langsam verzweifle ich, habe jetzt endlich den absoluten Pfad und der 500 Fehler ist jetzt weg, dafür bekomme ich jetzt immer 403- forbidden, egal ob ich das Passwort unverschlüsselt, mit dem selfhtml-script verschlüsselt oder mit dem parallel-Confixx-Programm verschlüsselt eintrage :(
 
Werbung:
ja sind denn die Rechte gesetzt worden???
Deine .htaccess ect. müssen 644 Rechte besitzen.. und dein apache muss mod_rewrite aktiviert haben...
 
dann sollte es gehen....,
aso du musst in der konfig noch .htaccess erlauben

in der httpd.conf

# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>

# use .htaccess files for overriding, AccessFileName .htaccess # and never show them
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>



und in deinem Vhost:

<Directory "/var/www">
AllowOverride all
<IfModule mod_access.c>
Allow from all
</IfModule>
</directory>

Musst du mal schauen ob das so ca bei dir aussieht
 
Zuletzt bearbeitet:
Werbung:
Was sagt der Kundenservice zu deinem Problem? Haben die keine Anleitung für deren Server parat?
 
Noch einmal Danke für die Hilfe!
Es war ein wirklich dummer Fehler, den ich jetzt durch Zufall gefunden habe. Ich hatte die index.php des Verzeichnisses aus versehen groß geschrieben (Index.php). Aus unerfindlichen Gründen hat der Server mir die Datei ohne Passwortschutz angezeigt und mit nicht, klein geschrieben wird sie jetzt aber auch mit richtig angezeigt.
Normalerweise ist Groß- und Kleinschreibung immer das erste was ich kontrollier, wenn etwas nicht funktioniert, aber dass es bei der index.php da zu Problemen führen kann ist mir nicht aufgefallen.
Tut mir leid, eure Zeit verschwendet zu haben, aber ich verspreche durch eure Kommentare habe ich eine Menge gelernt.

Edit: Die ursprüngliche index.php war sogar richtig, die dann erstellte Index.html mit der ich php-Fehler ausschließen wollte war falsch *schäm*
 
Zurück
Oben