RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

RewriteRule ^(system|vendor|templates|uploads)/$ - [R=404]
RewriteRule ^(system|vendor|templates|uploads)/.*/$ - [R=404]
RewriteRule ^(system|vendor|templates)/.*\.(php|dat|tpl|scss|gitkeep|inc|json|log)$ - [R=404]