Convertir url a minúscula usando Apache HTTPD

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 Responses to Convertir url a minúscula usando Apache HTTPD

  1. Nulled dice:

    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 dice:

      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 un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.