在baseURL的codeigniter中调用直接函数

时间:2018-08-11 11:35:42

标签: php codeigniter routes

我是codeigniter的新手。我的问题是假设我的baseurl是

www.xyz.com

现在我有这样的功能

class Front extends MY_Controller {

    public function index()
    {
        $this->__front_template('index');
    }
    public function about()
    {
        $this->__front_template('about-us');
    }

现在,如果我需要打电话,我会打电话给

www.xyz.com/front/about

但是我需要打个电话

www.xyz.com/about

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用codeigniter URI routing

通常,URL字符串与其对应的控制器类/方法之间存在一对一的关系。 URI中的分段通常遵循以下模式:

Codeigniter URL用作

example.com/class/function/id/

因此,您必须为此路由。在application/config/routes.php中添加类似

的代码
$route['about'] = 'Front/about';

有效。!

答案 1 :(得分:0)

由于以下原因,您无法根据您的体系结构直接调用about

在CodeIgniter 中,我们将URL划分为: http://www.example.com/controller_name/function_name

如果您要调用的函数是index,则上面的函数可以写为:http://www.example.com/controller_name/

因此,要直接调用about,您需要为其创建一个名为about的单独控制器,并且可以在index函数中编写代码。这样您的要求就会得到满足。

还有其他复杂的方法,但是正如您所提到的,您是新手。所以这是最好的。

如果您想要更有效的方法,请查看文档: https://www.codeigniter.com/userguide3/general/routing.html