By default, our script uses SEO friendly URLs in following format:
Note the "index.php" part - every request is routed through index.php file of the script so it executes proper code based on the rest of the URL, allowing us to have SEO friendly addresses of our properties. If you are using Apache web server with mod_rewrite support, you can easily remove "index.php" from your URLs and have URLs like this on your web site:
The URLs look much better like this, and most users will think that your web site is set up of dozens of html pages while in the background PHP is doing all the job. To remove index.php from your URLs you should do the following:

1. Put file named .htaccess in the root folder of your web site and place following code inside:

## set up rewrite rules ##
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|min|application|install|assets|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

	## notify script that setup rules have been set ##
	<IfModule mod_env.c>

## compress html/js/output ##
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript

## let clients cache css/js and images for 10 days ##
<FilesMatch "\.(css|js|jpe?g|png|gif)$">
Header set Cache-Control "max-age=864000, public, must-revalidate"

## forbid access to data files ##
<Files license.txt>
Order allow,deny
Deny from all

<Files installed.txt>
Order allow,deny
Deny from all
If your (Apache) web server has mod_env module installed, this should be everything you need to do to make index.php disappear. If not, proceed to step 2:

2. Open application/config/config.php and around line #15 find this:

$config['forceseo'] = FALSE;
...and change it so it looks like this:

$config['forceseo'] = TRUE;
Save, re-upload this file and your URLs should appear without the index.php part.