Apache und DirectoryMatch

Gast #4522350
Lesenswert?
• ▲
▼
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
#4522964
Lesenswert?
• ▲
▼
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/">

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.