Jak regexować ścieżkę i wszystkie podścieżki oprócz jednej podścieżki?

0

W przypadku aplikacji internetowej potrzebuję Alias ​​Dopasować ścieżkę i wszystkie jej podścieżki w Apache, ale muszę wykluczyć ścieżkę podrzędną.

Przykład:

AliasMatch /webapp /usr/share/webapp
Prawidłowe patsy byłyby /abc.dom/webapp /abc.dom/webapp/somepath/do.php

ale muszę też
AliasMatch /webapp/static /usr/share/webapp/media/static
sprawdzić, czy będą ważne/abc.dom/webapp/static/ /abc.dom/webapp/static/css/

Potrzebuję więc wyrażenia regularnego, które pasuje, /webapp/*ale nie /webapp/static/*i odwrotnie.

Dowolny pomysł? Wszystko, czego próbowałem, zakończyło się już na pierwszym lub drugim, ale nie na obu razem.

jnko
źródło
twój tytuł mówi „z wyjątkiem jednej podścieżki”, ale nie ma odniesienia do tego wyjątku w tekście. Dodaj kilka przykładowych ścieżek, które powinny być dopasowane, a także to, co nie powinno być, bardzo trudno jest teraz zrozumieć twoje pytanie.
Máté Juhász

Odpowiedzi:

1
AliasMatch "^/webapp/((?!static/).*)$" "/usr/share/webapp/$1"
AliasMatch "^/webapp/static/(.*)" "/usr/share/webapp/media/static/$1"
Lutz Reinhardt
źródło