Disculpas de antemano por contribuir a lo que ya debe ser una lista exhaustiva de preguntas relacionadas con las redirecciones .htaccess. Mi pregunta se refiere a un sitio web de un cliente que consta de varias versiones de idiomas, la estructura de carpetas es la siguiente:
index.html (default german version) — en index.html — fr index.html — nl index.html – css – img – js Dicho cliente ahora me pidió que implementara una redirección de idioma, lo que hice moviendo la versión alemana predeterminada a su propia subcarpeta y colocando el siguiente .htaccess en el directorio raíz .
RewriteEngine On # Redirect to dutch language version RewriteCond %{HTTP:Accept-language} ^(nl.*) [NC] RewriteRule ^$ /nl/ [L,R=302] # Redirect to french language version RewriteCond %{HTTP:Accept-language} ^(fr.*) [NC] RewriteRule ^$ /fr/ [L,R=302] # Redirect to english language version RewriteCond %{HTTP:Accept-language} ^(en.*) [NC] RewriteRule ^$ /en/ [L,R=302] # Redirect all other languages to english language version RewriteCond %{HTTP:Accept-language} !^(nl|fr|de|en).* [NC] RewriteRule ^$ /en/ [L,R=302] # Redirect to german language version RewriteCond %{HTTP:Accept-language} ^(de.*) [NC] RewriteRule ^$ /de/ [L,R=302]Los redireccionamientos en sí mismos funcionan como deberían y no entran en conflicto con el selector de idioma manual en cada página respectiva. El único problema que me queda es que la URL que se muestra en el navegador incluye la subcarpeta para el idioma respectivo, es decir:
mydomain.com/de/ mydomain.com/en/ mydomain.com/fr/ mydomain.com/nl/Si bien esto está destinado a los idiomas no predeterminados (es decir, en, fr y nl), la URL debe mostrar la dirección raíz al visitar la versión alemana predeterminada :
mydomain.com instead of mydomain.com/de/ ¿Cómo tendría que modificar mi archivo .htaccess para lograr el comportamiento deseado? Estoy probando el sitio desde una subcarpeta en el servidor de sitios llamado dev , por lo que la solución sugerida debería funcionar idealmente con mydomain.com y dev.mydomain.com por igual.
Muchas gracias de antemano.