.htaccess und Pfad zur Passwortdatei
hotti
- webserver
Hotti hat auch mal wieder ne Frage. Auf meinem lokalem XP-PC hab ich dieselbe .htacces wie auf dem Server beim Provider bis auf einen klitzekleinen Unterschied:
Lokal:
AuthUserFile d:/home/.passfile
Remote:
AuthUserFile /home/.passfile
Da ich die beiden .htaccess Dateien sehr gerne absolut gleich hätte hab ich mal getestet:
AuthUserFile /home/.passfile
AuthUserFile d:/home/.passfile
Was auf XP erstaunlicherweise ging, der richtige Webserver indes mit einem status 500 quittierte.
Gibt es eine Möglichkeit, den Apache dazu zu überreden, beides zu erlauben? Oder ganz anders?
Hotte
Hi hotti,
Was auf XP erstaunlicherweise ging, der richtige Webserver indes mit einem status 500 quittierte.
Das ist nicht weiter verwunderlich, da die zweite Zeile die erste überschreibt. Und damit kann dann dein Produktivserver nicht viel anfangen.
Gibt es eine Möglichkeit, den Apache dazu zu überreden, beides zu erlauben? Oder ganz anders?
Spontan würde mir nur einfallen, IfDefine zu verwenden:
<IfDefine MyComputer>
AuthUserFile D:/home/.htpasswd
</IfDefine>
<IfDefine !MyComputer>
AuthUserFile /home/.htpasswd
</IfDefine>
Du müsstest dann lediglich beim Starten deines lokalen Apaches an den Aufruf von httpd.exe
das Flag -DMyComputer
anhängen. Das geht per RegEdit auch für einen Apache, der als Windows-Dienst installiert ist.
Übrigens: Dateien, deren Name mit .ht beginnt, gibt der Apache in der Standardkonfiguration nicht über HTTP raus. Es kann also durchaus sinnvoll sein, sich an die Konvention zu halten, das UserFile .htpasswd oder .htusers zu nennen. Andernfalls kommt man eventuell über HTTP an die Datei dran, sofern D:/home/ den DocumentRoot abbildet und du die Datei nicht anderweitig schützt.
Viele Grüße,
~ Dennis.
hi Dennis,
vielen Dank!
Übrigens: Dateien, deren Name mit .ht beginnt, gibt der Apache in der Standardkonfiguration nicht über HTTP raus. Es kann also durchaus sinnvoll sein, sich an die Konvention zu halten, das UserFile .htpasswd oder .htusers zu nennen. Andernfalls kommt man eventuell über HTTP an die Datei dran, sofern D:/home/ den DocumentRoot abbildet und du die Datei nicht anderweitig schützt.
Wieder was dazu gelernt, gleich gefixt und geht, danke.
Für die Pfadgeschichte hab ich nun doch noch eine einfachere Lösung gefunden, ähnlich der "shebang"-Geschichte. Mein lokaler Apache läuft auf Laufwerk c: und so hab ich auf diesem LW ein /usr/bin/ Verzeichnis eingerichtet mit der perl.exe mittendrin. Somit tut eine shebang like
#!/usr/bin/perl
auf XP wie auf Linux. Genauso gehts auch mit "AuthUserFile /home/..." ohne Angabe des LW, wenn die PasswortDatei auf demgleichen Laufwerk wie der Apache liegt.
Hotte