How to remove controller name from URL in CodeIgniter

In CodeIgniter or any MVC application, the regular URL structure is like example.com/controller/function/parameter which appear as example.com/user/profile/ariful.  But sometimes we may want to omit the controller name here to make the url more beautiful like example.com/profile/ariful or even example.com/ariful as best url.

This beautiful url can be achieve through the URI Routing of CodIgniter. In
For example.com/ariful, use this code

 application/config/route.php

application/config/route.php file, you’ve to write following code for example.com/profile/ariful

  $route['user/(:any)']             = "user/profile/$1";

For example.com/ariful, use this code

  $route['(:any)']                  = "user/profile/$1";

If you have multiple parameters like

public function profile($username, $city)
{
     echo "You are ".$username." from ".$city;
}

Your route will be

5
  $route['(:any)/(:any)']                  = "user/profile/$1/$2";

If you want to use number in parameter instead of string like these examples, you need to use (:num) instead of (:any).

If you are looking for something like modifying URL, I hope this post may help you. If you’ve any further question, you can comment bellow.

How to get value of Array in foreach loop

While working on my CodeIgniter based Open Source Project Management tool “Koronio”, suddenly I needed create a loop to generate a Dropdown element with array key as option value. This is very simple trick, provably everyone knows it, though I felt to share it.

Lets say, we have a php array named $priority which has 5 items.

$priority=array('Low','Normal Low',"Normal",'Normal High','High');

We want to show this items in a Select Item with Array value as option name and Array key as option value.

foreach($priority as $key=> $val)
{
echo '<option value="'.$key.'">'.$val.'</option>';
}

Thats It! You’ll have a dropdown list with the Priority list and value as option value.