Htaccess redirige la carpeta y elimina el final de la URL

Htaccess redirige la carpeta y elimina el final de la URL

Estoy intentando redirigir algunas URL .htaccesspero sin éxito. El problema es que tengo que redirigir dos partes diferentes de la URL.

Aquí hay un ejemplo de lo que tengo que redirigir:

example.com/huawei-reparatie/huawei-mate-7-reparatie

debe ser redirigido a:

example.com/reparatie/huawei/huawei-mate-7

Entonces, ¿qué hay que hacer?

  • Dividido huawei-reparatieenreparatie/huawei
  • Eliminar el -reparatieal final de cada URL

Estas son URL dinámicas, por lo que no es solo ésta. Tengo que redirigir todas estas URL para muchas marcas diferentes (como huawei) y muchos dispositivos diferentes (como huawei-mate-7)

Espero que alguien pueda ayudarme.

Respuesta1

Para aclarar sus requisitos:

/first-second/text-to-keep-removethis

Debería redirigir a;

/second/first/text-to-keep

Dónde

  • firsty contienen secondsólo removethisletras az minúsculas.
  • firsty secondestán separados por un solo guión.
  • removethistiene como prefijo un guión único (que también se elimina) y siempre aparece al final de la ruta URL.
  • text-to-keepes cualquier serie de caracteres az y guión.

Pruebe lo siguiente en la parte superior del .htaccessarchivo raíz, usando mod_rewrite:

RewriteEngine On

RewriteRule ^([a-z]+)-([a-z]+)/([a-z-]+?)-[a-z]+$ /$2/$1/$3 [R=302,L]

ElRewriteRule patrón(primer argumento) es una expresión regular que coincide únicamente con la ruta URL solicitada, menos el prefijo de barra diagonal.

el $nen elsustitucióncadena son referencias al grupo de captura correspondiente (subpatrón entre paréntesis) en elRewriteRule patrón.

Cualquier cadena de consulta presente en la solicitud inicial se pasará sin modificaciones. Si se debe eliminar alguna cadena de consulta, agregue la QSDbandera (Descartar cadena de consulta).

Tenga en cuenta que esta es una redirección temporal (302). Solo cambie a una redirección 301 (permanente), si esa es la intención, una vez que haya confirmado que funciona correctamente.

información relacionada