air
air

Reputation: 6264

passing variable to default controller in codeigniter

i have one default controller in codeigniter

class Welcome extends CI_Controller {

    public function index()
    {
        $this->load->view('welcome_message');
    }

as you know we can call this function

sitename/index.php

or

sitename/

as i have url rewrite in .htaccess

now i want to call same index function with parameter passing like

sitename/seo-services

where seo-services will be paramater passing to index function to load seo-services page.

as default syntax of codeigniter is

example.com/class/function/ID

i want in this formet

example.com/class/ID

where i want to skip the function for default (index) function of class

how can i do this?

Thanks

as you can see i am trying this for seo purpose.

Upvotes: 2

Views: 5304

Answers (1)

Youn Elan
Youn Elan

Reputation: 2452

Parameters appended to your url are automatically converted to arguments to your method.

For example if you have a method called index index in your welcome controller, then http://www.example.com/index.php/welcome/index/[parametervalue] will automatically pass [parametervalue] to your method, assuming that you define your function to receive the parameter

class Welcome extends CI_Controller {

    public function index($parameterValue=null)
    {
      //do whatever you need here
      //note the default value just in case it is null
    }
}

If you want to make things shorter, you will have to define an alias in the config/routes.php file. Also, if you want to get rid of the index.php, you will have to configure your web server accordingly (either through .htaccess if using apache or web.config if using iis)

Upvotes: 4

Related Questions