Usando el .htaccess
archivo, me gustaría redirigir www.example.com/fr/
a www.example.com/
otras páginas francesas que tengan la /fr/
raíz, pero no a otras (por ejemplo www.example.com/fr/page-name
, )
Intenté usarlo Redirect 301 /fr/ https://example.com/
, pero eso redirige todas las páginas en francés a las versiones en inglés, lo cual no quiero.
¿Hay alguna forma de evitar esto?
Respuesta1
Redirect 301 /fr/ https://example.com/
La directiva mod_alias Redirect
coincide con prefijos, por lo que redirige todo lo que simplemente comienza /fr/
y copia todo después de la coincidencia al final de la URL de destino. Es excelente para redirigir ramas de URL completas (o sitios completos), pero no para URL específicas.
Para redirigir una URL específica, debe usar RedirectMatch
, que coincide con una expresión regular, en lugar de una simple coincidencia de prefijo.
Por ejemplo:
RedirectMatch 301 ^/fr/$ https://example.com/
Tenga en cuenta que si tiene directivas mod_rewrite existentes (es decir, RewriteRule
), es posible que necesite usar (o sea preferible usar) mod_rewrite en su lugar aquí.
Referencia: