Você precisa adicionar uma exceção para não reescrever index.php
a index.php?/index.php
. (Além disso, tem certeza de que deseja um /
após o ?
?)
Aqui está um RewriteCond para parar esse loop:
RewriteCond %{REQUEST_URI} != /index.php/
Ele deve ser inserido antes do RewriteRule.