Prepisivanje (rewrite) obuhvata samo path deo URL-a tj. sadržaj URL-a do znaka ? koji indikuje početak tzv. query stringa.
Ukoliko želiš da i query string bude obuhvaćen prepisivanjem onda moraš da navedeš
QSA Apache flag.
Kod:
# .htaccess
RewriteEngine On
RewriteRule ^en$ /index.php?lang=en [L,QSA]
EDIT: Ukoliko imaš dovoljno vremena i pristup konfiguraciji servera, najsigurniji način da nađeš šta nije u redu sa mod_rewrite prepisivanjem je da loguješ ceo proces dodavanjem sledećeg reda u konfiguraciju.
Kod:
LogLevel debug rewrite:trace6