Moin!
ich benutze seit langem .htaccess-Dateien in meinen Webprojekten. Bei der Authentifizierung müssen die Pfade der entsprechenden Benutzer- oder Gruppendateien absolut angegeben werden. Bevor ich eine .htaccess-Datei hochlade, muss ich den Pfad also anpassen, weil er ja nicht mit meinem lokalen Verzeichnispfad übereinstimmt.
Die relative Angabe einer Datei wird vom Apachen relativ zum ServerRoot gesehen. Das hat mit dem DocumentRoot nichts zu tun, der den jeweiligen VHost bildet, und kann nur beeinflusst werden, wenn man an die zentrale Konfigurationsdatei herankommt.
Das ist bei Live-Hosts ja eher nicht der Fall, da muss man nehmen, was definiert ist. Aber beim lokalen Test-Host kann man die Angabe beeinflussen und genau so anpassen, dass man mit einer relativen Pfadangabe zurechtkommt.
Allerdings funktioniert das dann für genau den einen Test-Host in Kombination mit dem zugehörigen Live-Host - wer sich mit zwei unterschiedlichen Live-Hosts beschäftigt, auf denen diese Angabe unterschiedlich ist, hat wohl eher Pech.
Irgendwie ist das recht lästig möchte ich sagen. Wie handhabt Ihr das? Gibt es da irgendwelche Lösungsansätze? Kann ich z. B. vielleicht eine andere Datei in eine .htaccess-Datei inkludieren, die nur die Anweisungen für die Pfade zu den Benutzer- oder Gruppendateien enthält?
Du kommst um eine AuthUserFile-Angabe nicht herum, wenn du keinen alternativen Authentifizierungsspeicher hast (es gibt Module, die z.B. Datenbanken abfragen).
Als einziges Hilfsmittel ist mir das hier vor die Maus gelaufen:
http://httpd.apache.org/docs/2.2/mod/mod_authn_alias.html
Mit der Möglichkeit, mehrere alternative Authentifizierungsquellen anzugeben, kannst du die Dateipfade sowohl vom Live- als auch Testhost angeben. Ich hoffe mal, das das Resultat dann ist, die erste verfügbare Quelle anzuzapfen.
Ob das Modul dir allerdings zur Verfügung steht, kann ich nicht sagen.
- Sven Rautenberg