[eluser]Pascal Kriete[/eluser]
You don't
need to have all that, it's merely a different method. Joeyvillas' code is what I usually use.
The difference between the two is that one is that one automatically excludes existing folders and the other one does not.
Of course, you should use what works, so do give both methods a try. A few other things to help you debug: Does your host support htaccess files - and more specifically mod-rewrite (not all of them do)? And, is CI in your docroot or in a subfolder?