2010-05-19 74 views
0

如何使工作的網址是這樣的:example.com/controller/method?id=1&cat=2結合友好的URL和查詢字符串

+0

是否有任何理由不能通過URI段傳遞「id」和「cat」?例如,example.com/controller/method/1/2或example.com/controller/method/id/1/cat/2? – 2010-05-19 19:23:26

+0

也許是因爲這個url不是由我創建的,還有什麼其他的原因可以呢? – 2010-05-19 21:34:57

+0

dynback.com ...我們不知道。這就是我們問的原因。 – 2010-05-20 02:59:22

回答

5

它是在你的config.php文件設置$config['enable_query_strings'] = TRUE;可能(如DamienL回答)。我剛剛嘗試了一個新的CodeIgniter安裝from here

但是,它似乎必須至少有2個變量(用「&」分隔)才能起作用。

下面是我做的步驟這一點:

在config.php,我改變$config['base_url']到相應的目錄,並設置$config['enable_query_strings'] = TRUE;

在我創建了以下類控制器目錄:

class Testing extends Controller { 

    function Testing() 
    { 
     parent::Controller(); 
    } 

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

/* End of file testing.php */ 

/* Location: ./system/application/controllers/testing.php */ 

我可以再與查詢字符串訪問索引功能,但前提是有2個或多個變量是這樣的:

本地主機/ CodeIgniter_1.7-1.2/index.php文件/測試/索引?ID = 123 &貓= ABC

如果你確實需要這兩個段基和查詢基於字符串的方法,但只需要一個特定的查詢字符串中的變量,我想你可以添加第二個「虛擬」變量,並忽略它。

+0

你的選擇是這樣的: http://127.0.0.1/critic/index.php?c=testing&m=index&some=1 | 但我需要這個: http://127.0.0.1/critic/index.php/testing/index?some=1 – 2010-05-21 18:17:37

+0

@ dynaback.com:爲什麼-1?啓用查詢字符串後,您可以執行127.0.0.1/critic/index.php/testing/index?some=1。我會編輯我的答案,以澄清 – 2010-05-21 18:37:40

+0

我有404這個。當我設置該選項時,只有段和唯一的查詢字符串變得有效。但不是在一個網址。 – 2010-05-21 19:11:56