De la linia asta cred ca vine problema. in $1, o sa-ti vina ce este inainte de index.php, pentru ca tu asta ai selectat ^(.*)index.php. Nu ai de ce sa selectezi acel grup. Si nu e obligatoriu ca fiecare linie sa inceapca cu “^”. Il folosesti doar daca ai nevoie. Si nu vad rostul sa faci redirect, in cazul asta.
Incearca ceva de genul asta… RewriteRule index.php?pagina=(.*) /$1.html [L]