2011-12-17 21 views

Respuesta

25

con Apache 2.2 (no estoy seguro acerca de las versiones anteriores), se puede utilizar una expresión regular con una búsqueda negativa hacia delante para que coincida con todos los directorios rutaDeAccesoUrl ubicación raíz distintos /assets así:

<LocationMatch "^(?!/assets)/[^/]+"> 
    ... 
</LocationMatch> 

Tenga en cuenta que este no incluye la ruta URL raíz /.

+0

Para incluir también la ruta URL raíz, simplemente reemplace el '+' con un '*'. –

+1

¿Qué pasa si se necesitan múltiples excepciones? – balping

+2

@balping - solo O junto con otro grupo dentro del lookahead negativo como lo siguiente: '^ (?!/(?: assets | exception2 | exception3))/[^ /] +' – ridgerunner

-2

Por desgracia, no es compatible con LocationMatch coincidencia negativa:/(que podría abrir una entrada de Bugzilla para esto, sin duda sería útil)

.

y por cierto que usted podría simplemente poner ^/assets/ como una expresión regular, no hay necesidad para que coincida con la ubicación completa.

una cosa que puede hacer para evitar esto es definir una LocationMatch vacío para ^/assets/ y luego usar un <Location />.

+3

Sí, pero usted _puede usar una expresión regular con un _negativo lookahead_ para lograr los resultados deseados. Ver mi respuesta – ridgerunner

Cuestiones relacionadas