Pasta de redirecionamento Htaccess e remoção do final do URL

Pasta de redirecionamento Htaccess e remoção do final do URL

Estou tentando redirecionar alguns URLs usando, .htaccessmas sem sucesso. O problema é que preciso redirecionar duas partes diferentes da URL.

Aqui está um exemplo do que devo redirecionar:

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

deve ser redirecionado para:

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

Então, o que deve ser feito:

  • Dividir huawei-reparatieemreparatie/huawei
  • Remova o -reparatieno final de cada URL

Estes são URLs dinâmicos, portanto não é apenas este. Tenho que redirecionar todos esses URLs para muitas marcas diferentes (como huawei) e vários dispositivos diferentes (como huawei-mate-7)

Espero que alguém possa me ajudar.

Responder1

Para esclarecer seus requisitos:

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

Deve redirecionar para;

/second/first/text-to-keep

Onde

  • firste contém secondapenas removethisletras az minúsculas.
  • firste secondsão separados por um único hífen.
  • removethisé prefixado por um único hífen (que também é removido) e sempre ocorre no final do caminho da URL.
  • text-to-keepé qualquer série de caracteres az e hífen.

Tente o seguinte no topo do .htaccessarquivo raiz, usando mod_rewrite:

RewriteEngine On

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

ORewriteRule padrão(primeiro argumento) é um regex que corresponde apenas ao caminho da URL solicitado, menos o prefixo da barra.

O $nnosubstituiçãostring são referências anteriores ao grupo de captura correspondente (subpadrão entre parênteses) noRewriteRule padrão.

Qualquer string de consulta presente na solicitação inicial será passada inalterada. Se alguma string de consulta precisar ser removida, adicione o QSDsinalizador (Query String Discard).

Observe que este é um redirecionamento temporário (302). Mude apenas para um redirecionamento 301 (permanente) - se essa for a intenção - depois de confirmar que está funcionando bem.

informação relacionada