2

我在 codeigniter 中有一个默认控制器

class Welcome extends CI_Controller {

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

如你所知,我们可以调用这个函数

sitename/index.php

或者

sitename/

因为我在 .htaccess 中有 url 重写

现在我想用参数传递调用相同的索引函数,比如

sitename/seo-services

其中 seo-services 将参数传递给 index 函数以加载 seo-services 页面。

因为codeigniter的默认语法是

example.com/class/function/ID

我想要这种形式

example.com/class/ID

我想跳过类的默认(索引)函数的函数

我怎样才能做到这一点?

谢谢

正如你所看到的,我正在尝试这个以实现 seo 的目的。

4

1 回答 1

4

附加到您的 url 的参数会自动转换为您的方法的参数。

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)

于 2013-03-30T13:12:00.647 回答