Módulo Apache mod_rewrite: Directiva RewriteCond
enero 20, 2012 Dejar un comentario
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
Artículos relacionados
- Instalar y configurar Apache HTTP server en CentOS / Fedora / RHEL
- Contar el número de procesos Apache (HTTPD)
- Configurar SSL en Apache HTTPD (CentOS / Fedora / RHEL)
Lecturas recomendadas
- Documentación del módulo mod_rewrite