This is my Virtual Host:
<VirtualHost *:8080>
   ServerAdmin webmaster@dummy-host.localhost:8080
   DocumentRoot "D:/test/testpage/"
   ServerName testpage
   ServerAlias testpage.localhost
   ErrorLog "logs/testpage-error.log"
   CustomLog "logs/testpage-access.log" common
</VirtualHost>
system/host
 127.0.0.1  testpage.localhost
httpd.conf in xampp/apache/conf/
Listen 8080
ServerName localhost:8080
LoadModule rewrite_module modules/mod_rewrite.so
<Directory />
   AllowOverride All
   Require all granted
</Directory>
my .htaccess file inside testpage folder
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
and in my application/config/config.php
$config['base_url'] = 'http://testpage.localhost:8080';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
the only issue am facing is that index.php, i can access my other pages but it have index.php between base_url() and view.