Wie kann ich einen Pfad und alle Unterpfade außer einem Unterpfad mit regulären Ausdrücken versehen?

Wie kann ich einen Pfad und alle Unterpfade außer einem Unterpfad mit regulären Ausdrücken versehen?

Für eine Webanwendung muss ich einen Alias-Match für einen Pfad und alle seine Unterpfade in Apache erstellen, aber ich muss Unterpfade ausschließen.

Beispiel:

AliasMatch /webapp /usr/share/webapp
Gültige Pfade wären/abc.dom/webapp /abc.dom/webapp/somepath/do.php

aber ich muss auch
AliasMatch /webapp/static /usr/share/webapp/media/static
Gültige Pfade wären/abc.dom/webapp/static/ /abc.dom/webapp/static/css/

Ich brauche also einen regulären Ausdruck, der übereinstimmt, /webapp/*aber nicht /webapp/static/*und umgekehrt.

Irgendeine Idee? Alles, was ich versucht habe, endete bereits entweder mit dem ersten oder dem zweiten, aber nicht mit beiden zusammen.

Antwort1

AliasMatch "^/webapp/((?!static/).*)$" "/usr/share/webapp/$1"
AliasMatch "^/webapp/static/(.*)" "/usr/share/webapp/media/static/$1"

verwandte Informationen