сократить .htaccess до такого
AddDefaultCharset UTF-8
RewriteEngine on
RewriteRule !index\.php$ index.php [L]
Две вычеркнутых строчки как раз означают то что если передан существующий файл или существующая папка, то не реврайтить на index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Не вижу никаких проблем, с точки зрения безопасности, что существующие файлы отдаются напрямую, без реврайта. Просто не делайте чтобы в корне веб сервера лежали какие-либо скрипты кроме безопасных или index.php. Все остальные скрипты выносите выше корня веб-сервера (чтобы их в принципе нельзя было открыть через url)
Важный нюанс: если вы будете абсолютно все запросы реврайтить на index.php - то и все статичные файлы (css, jpg, js) которые раньше отдавались напрямую, будут перенаправлены на index.php и там вам придётся самому разруливать их отдачу, считывать содержимое файла, проставлять mime-type и тд.