Usando o .htaccess
arquivo, gostaria de redirecionar, www.example.com/fr/
mas www.example.com/
não para outras páginas francesas que tenham a /fr/
raiz (por exemplo www.example.com/fr/page-name
)
Tentei usar Redirect 301 /fr/ https://example.com/
mas isso redireciona todas as páginas em francês para as versões em inglês, o que não quero.
Existe uma maneira de contornar isso?
Responder1
Redirect 301 /fr/ https://example.com/
A diretiva mod_alias Redirect
é de correspondência de prefixo, então ela redireciona tudo que simplesmente inicia /fr/
e copia tudo após a correspondência para o final do URL de destino. É ótimo para redirecionar URLs inteiros (ou sites inteiros), mas não para URLs específicos.
Para redirecionar um URL específico, você precisa usar RedirectMatch
, que corresponde a uma regex, em vez de uma simples correspondência de prefixo.
Por exemplo:
RedirectMatch 301 ^/fr/$ https://example.com/
Observe que se você tiver diretivas mod_rewrite existentes (ou seja, RewriteRule
), então você pode precisar usar (ou pode ser preferível usar) mod_rewrite aqui.
Referência: