By default, URLs in CodeIgniter are designed to be search-engine and human-friendly. Rather than using the standard “query string??? approach to URLs that is synonymous with dynamic systems, CodeIgniter uses a segment-based approach:
example.com/news/article/my_article
URI Segments
The segments in the URL, in following with the Model-View-Controller approach, usually represent:
example.com/class/function/ID
- The first segment represents the controller class that should be invoked.
- The second segment represents the class function, or method, that should be called.
- The third, and any additional segments, represent the ID and any variables that will be passed to the controller.
Removing the index.php file
By default, the index.php file will be included in your URLs:
example.com/index.php/news/article/my_article
If your Apache server has mod_rewrite enabled, you can easily remove this file by using a .htaccess file with some simple rules.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Adding a URL Suffix
In your config/config.php file you can specify a suffix that will be added to all URLs generated by CodeIgniter. For example, if a URL is this:
example.com/index.php/products/view/shoes
You can optionally add a suffix, like .html, making the page appear to be of a certain type:
example.com/index.php/products/view/shoes.html
Enabling Query Strings
In some cases you might prefer to use query strings URLs:
index.php?c=products&m=view&id=345
CodeIgniter optionally supports this capability, which can be enabled in your application/config.php file. If you open your config file you’ll see these items:
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
If you change “enable_query_strings??? to TRUE this feature will become active. Your controllers and functions will then be accessible using the “trigger??? words you’ve set to invoke your controllers and methods:
index.php?c=controller&m=method
I hope you understand examples, Thanks.....