También estoy en: Ver el perfil de Jon González Garrido en LinkedIn

Redireccionar con expresiones regulares en htaccess

Valora este artículo
(1 Voto)
Redireccionar con expresiones regulares en htaccess - 4.0 out of 5 based on 1 vote
Redirecciones con expresiones regulares en htaccess Redirecciones con expresiones regulares en htaccess Jon González Garrido
Las redirecciones permanente, 301, realizadas en el fichero .htaccess son un punto clave para el SEO. Un cambio de dominio, una reestructuración de temas o cualquier otro problema que haga que las URLs anteriormente existentes ya no existan requieren una redirección ya sea esta temporal o permanente.

Para realizar la mayoría de las tareas puede ser suficiente con seguir las indicaciones que se ven en distintos artículos de internet como el de Estela Franco, que detalla con ejemplos e imágenes como realizar redirecciones 301.

Sin embargo en muchas ocasiones tenemos la necesidad de usar expresiones regulares y ahorrarnos un buen tiempo. En mi caso particular tenía URLs antiguas como la siguiente:

www.tudesarrolladorweb.com/trabajos-realizados/kartuned

Y para un mejor SEO y porque al fin y al cabo dónde mejor para experimentar que en todavía humilde sitio web decidió cambiar las URLs que mostraban mi trabajo a lo siguiente:

https://www.tudesarrolladorweb.com/trabajos-jon-gonzalez-garrido/kartuned

Por tanto podría haber ido trabajo por trabajo poniendo redirecciones como 301, sin embargo, preferí usar este truco de redirecciones 301.

RedirectMatch 301 ^/trabajos-realizados/(.*)$ https://www.tudesarrolladorweb.com/trabajos-jon-gonzalez-garrido/$1

Mediante ese código lo que se le está diciendo al htaccess es que todo lo que venga con /trabajos-realizados/ALGO sustituya por la URL correcta añadiendo al final ese "ALGO".

Si se necesitara redirigir una parte de la ruta que tenga posteriormente dos trozos con "/" se haría lo siguiente:

RedirectMatch 301 ^/trabajos-realizados/(.*)/(.*)$ https://www.tudesarrolladorweb.com/trabajos-jon-gonzalez-garrido/$1/$2

Se le estaría diciendo que todo aquello que venga con "trabajos-realizados" seguido por 2 trozos o carpetas de la ruta fuera sustituido por la URL que viene a continuación poniendo al final esos dos trozos o carpetas.

Mediante esta redirección con expresiones regulares en htaccess se pueden realizar tanto redirecciones permantentes (301) como temporales (302).

htaccess utiliza un lenguaje de expresiones regulares llamado regex. Para familiarizarse con dicho lenguaje y probar las expresiones recomiendo la siguiente página.

Con las expresiones regulares en htacces se puede dar solución a lo siguiente:

  • Cambios de URLs motivados por cambios en las categorías.
  • Cambios de URLs motivamos por cambio de dominio.
  • Cambios de URLs motivados por cambios en el idioma.
  • Cambios de URLs motivados por mover una serie de artículos otra categoría.

Eso si, siempre que se vaya a modificar el fichero .htaccess se debe realizar una copia de seguridad ya que cualquier error de sintaxis puede suponer que el sitio web de error 500 y por tanto quede "colgado".

 

¿Os ha sido útil? No dudéis en preguntar dudas en los comentarios.

Visto 800 veces Modificado por última vez en Viernes, 19 Mayo 2017 08:11

2 comentarios

  • Enlace al Comentario Jon González Garrido Viernes, 02 Junio 2017 12:15 publicado por Jon González Garrido

    De nada Julio, todo con tal de ayudar.
    Resulta muy tedioso tener que escribir una línea por cada redirección cuando realmente lo único que ha cambiado es una carpeta.
    Un saludo

  • Enlace al Comentario Julio Viernes, 02 Junio 2017 12:10 publicado por Julio

    Gracias... estaba cansado de tener que escribir redirecciones en el .htaccess línea a línea!

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.

Contacto

La mejor manera de contactar conmigo es el formulario de contacto de esta página, aquí.

Acerca de mi

Soy un Ingeniero superior que ha obtenido la ingeniería técnica mediante la UPV/EHU y la superior mediante la UNED.

Mi carrera laboral se ha desarrollado sobre varias tecnologías, en especial PHP, MySQL y Apache.