validate test solo regulares regular regexp probar letras expressions expresiones expresion espacios espacio ejemplos blanco alfanumerico regex apache if-statement escaping slash

regex - test - regular expressions



¿Cómo puedo escapar del signo de barra `/` en Apache `<If>` regex de la directiva? (2)

Quería servir archivos .xhtml como

  • application/xhtml+xml si el navegador dice que lo acepta.
  • text/html contrario

Intenté hacerlo con mod_rewrite pero no funcionó con Options -FollowSymLinks (ver ¿Por qué lo hago? Obtengo 403 Forbidden cuando veo archivos afectados por Apache RewriteRule si tengo `Options -FollowSymLinks`? ).

Entonces, lo intenté

<Files "*.xhtml"> <If "%{HTTP:Accept} !~ /application//xhtml/+xml/"> ForceType text/html </If> </Files>

Pero obtengo un error de sintaxis: no se pudo compilar la expresión regular .

Mientras tanto, uso este código ...

<Files "*.xhtml"> <If "%{HTTP:Accept} !~ /xhtml/+xml/"> ForceType text/html </If> </Files>

... que funciona, pero quiero hacer coincidir el tipo MIME correcto.


Puede usar un código de escape como /x2F lugar de / .


Parece que mejorar esto todavía está en construcción a partir de Apache 2.4. El miembro del equipo de Apache "covener" recomienda m#regexp# lugar.

Entonces su código se vería así ...

<If "%{HTTP:Accept} !~ m#application/xhtml/+xml#">