codeigniter路径问题

时间:2012-01-30 02:51:37

标签: codeigniter

我正在尝试将我的视图页面链接到另一个控制器。

my test_view.php page

//this page address is base_url/controller1/function1
<a href='controller1/function2'> test </a>

如果我点击,页面地址将是base_url/controller1/function1/controller1/function2,这不是我的愿望。

我的控制器

   //the first function1 is to show my test_view page
    function function1 (){
       $this->load->view('test_view');
    }

   //I can't get to this function2 with the link I used
    function function2 (){
      $this->load->view('funny');
    }

有人可以帮我解决这个问题吗?非常感谢。

3 个答案:

答案 0 :(得分:2)

它链接到相对URL,你需要以'/'开头才能使用web root

<a href='/controller1/function2'> test </a>

答案 1 :(得分:2)

当然 - 您只需告诉CodeIgniter显示路径:

<a href="<?php echo site_url("controller1/function2");?>">

一件事:这会显示您的配置中定义的站点的绝对路径,而不是相对路径。

我更喜欢相对路径,所以我喜欢创建一个名为site_path的通用函数,以便在没有绝对URL的情况下执行相同的操作。我将它包含在我的一个通用加载的库中,它看起来像这样:

function site_path($url) {
    return "/$url";
}

这样做的好处是,如果我最初在子目录中开发站点,我可以将site_path设置为return "/subdirectory/$url",然后在我启动后删除子目录。

答案 2 :(得分:2)

您可以在test_view.php页面中使用以下代码,
<a href='<?php echo base_url();?>controller1/function2'> test </a>