> Faqs > Expresiones regulares en redirección 301 htaccess

Expresiones regulares en redirección 301 htaccess

Hola tengo un sitio que tiene esta estructura de post (WordPress) , tiene custom permalinks y las entradas quedan asi por defecto:

  • misitio.com/hacer-abdominales-facil
  • misitio.com/hacer-setadillas-facil
  • ...etc

El permalink agrega por defecto al comienzo de la URL una palabra ejemplo "hacer" y al final otra "facil" , me gustaria dejarlo como viene por defecto pero al intentar poner todo por defecto o solo %%postname%% no me hace la redirección de la vieja URL a las nuevas.. y las viejas q estan indexadas dan error 404.

Entonces creo que mi solucion seria una expresion regular para que una URL como esta:

misitio.com/hacer-***-facil 

La convierta en solo:

misitio.com/***

¿Alguna forma de lograrlo?

Ya sea en el mismo dominio o en otro pero acomodar las URL y que me haga el redir de todas las viejas a las nuevas, son 200 URLs

Respuestas

Es perfectamente posible. Simplemente tienes que usar el archivo .htaccess para conseguirlo.

Ojo, si es que tu web está sobre un servidor web Apache (lo más normal), que es el que ofrece compatibilidad con los archivos .htaccess. En Nginx habría otros mecanismos para conseguirlo.

La instrucción que necesitas usar se llama "redirectMatch", que por supuesto acepta expresiones regulares. Son las mismas expresiones que se usan en la instrucción RewriteRule.

En tu caso particular el código necesario es el siguiente:

redirectMatch 301 ^hacer-(.+)-facil$ $1

Puedes obtener más información en el artículo Cambio de URL redirección 301 con .htaccess

Miguel Angel
3145 140 209 17
NO me funciono, si crees lograr hacerlo podria pagar por ello, necesito arreglaelo :/