Это переписывает все, кроме реальных файлов:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d [OR] RewriteRule ^(.*)$ index.php/$1 [L]
Как переписать «все» в index.php, включая фактические запросы файлов?
index.php
Попробуйте заменить 2 строки RewriteCond следующим образом:
RewriteCond %{REQUEST_URI} !^/index\.php/
Это предотвратит цикл перезаписи, и ваш RewriteRule уже настроен для перезаписи всего (условие не позволяло вам перезаписывать существующие файлы)