Problema com o redirecionamento de uma pasta com mod_alias
-
21-09-2019 - |
Pergunta
Outra pergunta seguindo de este tópico. O único item restante que não posso resolver é que existe uma listagem para uma pasta agora inexistente '/equipe/', mas se eu adicionar isso ao meu arquivo .htaccess, ele quebra todas as outras entradas .htaccess para arquivos em arquivos em aquela pasta, ou seja,
redirect 301 /team/ /team.html
redirect 301 /team/joe_bloggs.htm /team.html
redirect 301 /team/joe_bloggs.html /team.html
redirect 301 /team/bill_smith.htm /team.html
redirect 301 /team/bill_smith.html /team.html
Se eu tentar visitar /team/joe_bloggggs.htm, isso me leva a
/team.html/joe_bloggs.htm
Se eu puder corrigir isso, pode me ajudar a entender como resolver minha pergunta original e reduzir a enorme lista de páginas de redirecionamento no meu arquivo .htaccess, para que qualquer ajuda recebida com gratidão.
Solução
Você precisa mudar o pedido e colocar "redirect 301 /team/ /team.html
"No final. Ele lê a linha para linha e, se encontrar algo se encaixa, substitui -o.
Além disso, acho que você precisa aprender a adicionar, ^ e $ personagens. ^ significa que a expressão deve começar e $ significa que a expressão deve terminar. Então, ^/team/$
significa que deve ser exatamente / equipe / e não combina /team/joe_bloggs.htm
Outras dicas
o Redirect
diretivo funciona em prefixos de caminho. E, neste caso, o prefixo do caminho usado em sua primeira diretiva (/team/
) correspondências e o restante do caminho são anexados ao novo caminho da URL.
…] Qualquer solicitação começando com
URL-Path
retornará uma solicitação de redirecionamento ao cliente no local do alvoURL
. Informações adicionais do caminho além do correspondenteURL-Path
será anexado ao alvoURL
.
Tentar RedirectMatch
em vez de:
RedirectMatch 301 ^/team/ /team.html