Directiva RewriteCond

Español

La directiva RewriteCond define una o más condiciones bajo las cuales va a ejecutarse una reescritura de url (RewriteRule), una o más directivas RewriteCond pueden preceder a RewriteRule, la reescritura de la url se llevará a cabo si se cumplen las condiciones especificadas en ambas directivas, esta directiva tiene el siguiente contexto: configuracion general (server config), directorios (Directory), hosts virtuales (VirtualHost) y .htacces.

Sintaxis

RewriteCond Cadena-a-comparar Patron-comparativo 

Donde:

  • Patrón-comparativo es una expresión regular de tipo PERL (PCRE), con algunas adiciones
    • Se puede anteponer el símbolo ! para negar el patrón entonces el RewriteCond se cumpliría siempre que Cadena-de-prueba sea distinto de Patron-comparativo
    • -d: Verifica si Cadena-a-comparar es una directorio
    • -f: Verifica si Cadena-a-comparar es una fichero
    • -s: Verifica si Cadena-a-comparar es un fichero no vacío (size > 0)
    • -l: Verifica si Cadena-a-comparar es un enlace simbólico
    • -x: Verifica si Cadena-a-comparar es un enlace ejecutable
    • Otras
  • Cadena-a-comparar puede ser además de texto plano,
    • Referencias (backreference) RewriteRule de la forma $N (0 <= N <= 9), las cuales permiten acceder a las diferentes partes agrupadas en en una regla RewriteRule.
    • Referencias RewriteCond de la forma %N (0 <= N <= 9), las cuales permiten acceder a las partes agrupadas
    • Expansiones RewriteMap
    • Variables del Servidor: HTTP_HOST, SERVER_NAME, DOCUMENT_ROOT, REQUEST_URI, QUERY_STRING, otras. Estas variables se especifican de la forma %{VARIABLE}

Para ver algunos ejemplos de como se usa esta directiva lea los siguientes artículos

Convertir url a minúscula usando Apache HTTPD
Truco del día: Cómo poner www delante de mis url en Apache HTTP

Lecturas recomendadas

Documentación del módulo mod_rewrite

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.