¿Cómo expresar una ruta y todas las subrutas excepto una subruta?

¿Cómo expresar una ruta y todas las subrutas excepto una subruta?

Para una aplicación web, necesito AliasMatch de una ruta y todas sus subrutas en Apache, pero necesito excluir la subruta.

Ejemplo:

AliasMatch /webapp /usr/share/webapp
Las rutas válidas serían/abc.dom/webapp /abc.dom/webapp/somepath/do.php

pero también necesito
AliasMatch /webapp/static /usr/share/webapp/media/static
rutas válidas serían/abc.dom/webapp/static/ /abc.dom/webapp/static/css/

Entonces necesito una expresión regular que coincida /webapp/*pero no /webapp/static/*y viceversa.

¿Alguna idea? Todo lo que intenté ya terminó en el primero o en el segundo pero no en ambos juntos.

Respuesta1

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

información relacionada