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




2 Comentarios

  1. Nulled

    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.

    Responder
    1. sedlav

      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

      Responder

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *