2012-12-24 35 views
0

我有3個控制器是家庭,食物和飲料。家庭控制器我想做出默認的控制器。我在routes.php文件文件這樣寫道:codeigniter中的url中的控制器名稱不止一個

$ 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(){ 

    } 

} 

我想使這個URL像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中分成兩部分。如何處理它。請幫幫我。謝謝:(

+1

使用絕對鏈接,而不是相對的。 –

回答

0

你是否在CI的配置文件中設置了基礎URL?如果是。嘗試相對路徑。 like food/foodjenis

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

的一個解決辦法是通過使用base標籤。

某處在頭文件(包括任何CSS或JS之前)把

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

之後,你可以自由地使用相對鏈接您的CI的應用程序。

1

您是如何讓你的鏈接呢?

我覺得有問題ü嘗試做相對鏈接和HTM L是在尋找食物作爲一個文件夾,所以當你讓鏈接爲

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

它會讓鏈接爲u寫道www.mydomain.com/food/food/foodjenis

但如果u使用CI網址

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

它應該像你打算的那樣工作。

+1

是的,這是工作。非常感謝你們 :) – ramadani

相關問題