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.

Foi útil?

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 alvo URL. Informações adicionais do caminho além do correspondente URL-Path será anexado ao alvo URL.

Tentar RedirectMatch em vez de:

RedirectMatch 301 ^/team/ /team.html
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top