2010-05-01 69 views
2

我試圖將參數傳遞給在笨控制,但我越來越找不到404頁面錯誤,我不明白這一點,我做了什麼指導說:http://codeigniter.com/user_guide/general/controllers.html#passinguriCodeIgniter:將參數傳遞給控制器​​時找不到頁面?

當我刪除了PARAMS在索引功能,只是訪問控制器一切工作正常,但我不能一個值傳遞給它......

下面是代碼,我試圖發送一個PARAM方式:

http://mysite/123

<?php 
class Main extends Controller { 

    function index($username) { 

     echo $username; 

    } 

} 
?> 

如何從codeigniter獲取有關此錯誤的更多信息?

謝謝。

回答

10

使用該URL,笨不能,如果你想通過123index方法或理解,如果你請求123方法不帶參數。如果您需要傳遞一些參數,則必須明確指定缺省方法。

http://mysite/index/123 
+0

反正繞過它,並使其明白,我把它發送到唯一指標?謝謝。 – thedp 2010-05-02 10:29:58

+1

如果您在該控制器中只有'index'方法,則可以通過codeigniter的路由設置重寫;如果你有其他方法,你怎麼知道段是一個方法名還是索引參數? – 2010-05-02 11:19:20

+0

當控制器只有索引函數時,我只傳遞這樣的參數。 – thedp 2010-05-02 13:18:46

5

選項1 - Rempap在控制器

函數調用如果控制器包含一個名爲_remap()的函數,它總是會被調用,無論你的URI包含。它覆蓋了URI確定調用哪個函數的正常行爲,允許您定義自己的函數路由規則。 http://codeigniter.com/user_guide/general/controllers.html#remapping

選項2 - 使用自定義路線。

http://codeigniter.com/user_guide/general/routing.html

+0

好的,但我該如何處理codeigniter要求我指定控制器名稱的事實,如下所示:http:// mysite/main/index/123'main'被定義爲目錄中的默認控制器,爲什麼我需要指定它? – thedp 2010-05-02 17:39:02