yo lo que veo es que
te falta asignarle la base para que empieze del root del sitio.
demas creo que seria asi no ?
Cita: RewriteEngine on
RewriteBase /
RewriteCond %{HTTP:Accept-Language} (es) [NC]
RewriteRule ^(.*)$ /es/$1 [R=301,L]
RewriteCond %{HTTP:Accept-Language} !(es) [NC]
RewriteRule ^(.*)$ /en/$1 [R=301,L]
NC = sensibilidad a mayusculas y minisculas (linux lo tiene)
^ = inicio de la cadena
$ = fin de la cadena
R = redirect: para los robots tienes que decirles que tipo de redirect es en este caso puse
movido permantentemente puedes tambien poner 302 que es temporal