I'm while using fundamental install of CodeIgniter. There exists a directory structure of:

website/application
website/system
website/public/index.php
website/index.php

What you want to do is direct all traffic from website/index.php to website/public/index.php, but we still need / to become accessible.

RewriteRule ^website/index.php$  website/public/index.php [L]
RewriteRule ^website/(.*)$   website/public/$1 [L]

Should you place b .htaccess using the following content inside your webroot you need to achieve what you would like:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} ^/website/(.*)
  RewriteRule !(public_html) /website/public_html/%1 [PT,NC,L]
</IfModule>