There should not be any difference between files in the root directory and files in other directories. try this one (note that I've added L
flag which will make the mod_rewrite
stop looking for other rules when the first one was matched (in your case any file under en/
should have match both the first and the second rules - so it would apply both rewrites
RewriteEngine On
RewriteRule ^\/?en\/(.*) $1?lang=en [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php