0

我有 3 个控制器,分别是家庭、食物和饮料。家庭控制器我想制作默认控制器。我在 routes.php 文件中这样写:

 $ route ['default_controller'] = "home";

 $ route ['404_override '] ='';

然后我在每个控制器中编写了如下代码:

控制器 home.php

class Home extends CI_Controller{
    public function __construct() {
        parent::__construct();
    }

    public function index(){

    }

    public function info(){

    }
}

控制器 food.php

class Food extends CI_Controller{
    public function __construct() {
        parent::__construct();
    }

    public function index(){

    }

    public function foodMenu(){

    }
    public function foodJenis(){

    }

}

控制器drink.php

class Drink extends CI_Controller{
    public function __construct() {
        parent::__construct();
    }

    public function index(){

    }

    public function drinkMenu(){

    }
    public function drinkJenis(){

    }

}

我想让这个网址像 www.mydomain.com/home、www.mydomain.com/food、www.mydomain.com/food/foodmenu、www.mydomain.com/food/foodjenis、www.mydomain.com/drink , www.mydomain.com/drink/drinkmenu, www.mydomain.com/drink/drinkjenis。

但是当我在网址 www.mydomain.com/food/foodmenu 上时,我前往 www.mydomain.com/food/foodjenis,但出现的网址是 www.mydomain.com/food/food/foodjenis。“食物”控制器名称在 url 中一分为二。如何处理它。请帮我。谢谢你 :(

4

3 回答 3

1

一种解决方法是通过使用base标签。

在文档头部的某个地方(在包含任何 css 或 js 之前)放置

<base href='http://mysite.com'>

之后,您可以在 CI 应用程序中自由使用相关链接。

于 2012-12-24T13:39:38.267 回答
1

你怎么做你的链接?

我认为您尝试进行相对链接存在问题,而 html 将食物视为一个文件夹,因此当您将链接设为

<a href="food/foodjenis"></a>

它会在你写 www.mydomain.com/food/food/foodjenis 时建立链接

但是如果你使用 CI url

  <a href="<? php echo site_url('food/foodjenis') ?>"></a>

它应该像你想要的那样工作。

于 2012-12-24T13:40:59.793 回答
0

您是否在 CI 的配置文件中设置了基本 url?如果是。尝试使用相对路径。像食物/foodjenis

<a href="<? php echo base_url('food/foodjenis') ?>"></a>
于 2012-12-24T14:53:06.970 回答