Archivo Etiqueta: mod_rewrite

Depurando reescrituras de urls

Apache HTTPD

Si estas reescribiendo urls usando el módulo mod_rewrite y crees que todas tus reglas y expresiones regulares están bien pero no funcionan entonces debes echarle un vistazo las siguientes directivas:

RewriteLog: Fichero hacia donde se va escribir las operaciones que esta realizando el módulo mod_rewrite.

RewriteLogLevel: Controla la cantidad de información a escribir en el fichero especificado en RewriteLog. Un valor de 0 deshabilita el volcado de las acciones mod_rewrite mientras que un valor de 9, produce un gran volumen de información. Se recomienda establecer un valor mayor que 2 solo con el propósito de depuración y un valor de 0 para entornos de producción.

Concatenando RewriteCond

Si queremos concatenar RewriteCond con AND lógico bastaría con ponerlas una debajo de la otra ver:

Convertir url a minúscula usando Apache HTTPD

Si queremos concatenarlas con un OR lógico entonces debemos usar el operador [OR]. Por ejemplo si tenemos los dominios:

– flossblog.ca
– flossblog.co.uk
– flossblog.com
– flossblog.es
– flossblog.de

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.

Convertir url a minúscula usando Apache HTTP

Puede que su sitio responda a urls que contengan carácteres en mayúsculas y minúsculas (una misma página responde a las urls: misitio.com/Mi-Url, misitio.com/mi-url), teniendo en cuenta parámetros SEO esto no es bueno ya que los buscadores distinguen mayúsculas de minúsculas por tanto tendrías más de una página indexada con el mismo contenido