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. Un truco que puedes usar es convertir todas las urls a minúsculas, para ello:

Ponga en el server config

Centos / Fedora / RHEL: /etc/httpd/conf/httpd.conf
Debian / Ubuntu: /etc/apache2/apache2.conf

RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !.(css|js|php|[jm]pe?g|png|[yx]ml|
    json|gif|ico|pdf|swf|html|flv|doc|pps|rar|zip|eps|
    odt|wmv|avi|tar(.(bz|gz))?|gz)$
RewriteCond %{REQUEST_URI} ^.*[A-Z].*$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://%1${lowercase:$1} [L]

Nótese que la primera condición excluye todas las url que contengan parámetros y la segunda todas las url que hacen peticiones a imágenes, pdf, doc, flash, otros

Luego en cada virtual host
RewriteEngine On
RewriteOptions Inherit

Lecturas recomendadas

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

2 comentarios

  1. Hola, gracias por el post, pero yo con parallels panel, modifico el vhost.conf y no funciona, sigue mostrar en mayusculas la url, alguna sugerencia?

    Gracias.

      • sedlav el noviembre 7, 2011 a las 1:32 pm
      • Responder

      Si el cambio es hecho a nivel de servidor o sea en el fichero de configuración del apache entonces debes reiniciar el servidor, tambien puedes hacerlo a nivel de directorio o sea en el .htacces de tu proyecto

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.