Hi, ich habe in meiner Apache-Konfiguration einen Directory- und einen DirectoryMatch-Eintrag: <Directory /home/www/outer> ... </Directory> <DirectoryMatch "/home/www/outer/.inner/*"> ... </DirectoryMatch> Für alle Aufrufe innerhalb des Ordners ".inner" (also beliebig viele Unterordner und/oder Dateien), soll auch noch der DirectoryMatch-Eintrag gelten. Die beiden Einträge funktionieren auch wie erwartet. Ich würde jetzt aber gerne den Ordner "outer" variabel machen, so das die beiden Einträge z.B. auch für folgende Directories gelten: /home/www/test/.inner/... /home/www/einergehtnoch/.inner/... etc. Wie lässt sich das unter Apache 2.2 bewerkstelligen? Viele Grüße Elvis
Elvis schrieb: > Die beiden Einträge funktionieren auch wie erwartet. Das bezweifle ich stark. Gemäss der Dokumentation ist bei directory match ein normaler regex verlangt. Der String "/home/www/outer/.inner/*" trifft auf alle Pfade zu, die /home/www/outer/.inner enthalten (wobei für den punkt jedes zeichen passt), egal was davor oder danach kommt. Grund dafür ist das der stern heisst, das 0 bis unentlich mal des '/' zeichen da sein müss. Den start repräsentiert man mit dem '^' zeichen, das ende mit '$', wurden hier aber nicht benutzt. Ich empehle dir dich mit regulären ausdrücken zu befassen. Doku: https://httpd.apache.org/docs/2.2/de/mod/core.html#directorymatch Regexp tester: https://regex101.com/#javascript Elvis schrieb: > Ich würde jetzt aber gerne den Ordner "outer" variabel machen, so das > die beiden Einträge z.B. auch für folgende Directories gelten: Meinst du so:
1 | <DirectoryMatch "^/home/www/(outer|test|einergehtnoch)/\.inner/"> |
Oder so: (belibiges verzeichnis)
1 | <DirectoryMatch "^/home/www/[^/]+/\.inner/"> |
Oder so: (belibiges (unter)verzeichnis)
1 | <DirectoryMatch "^/home/www/.+/\.inner/"> |
Oder so: (belibiges optionales (unter)verzeichnis)
1 | <DirectoryMatch "^/home/www/(.+/)?\.inner/"> |
Oder so: (egal wo .inner ist)
1 | <DirectoryMatch "/\.inner/"> |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.