Directiva RewriteCond

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

Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

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.