2012-06-02 60 views
1

我有一個控制器命名類別和一個功能叫1個參數$ CAT_ID指數笨控制器指數函數調用需要它的名字

,所以它看起來是這樣的:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class categories extends CI_Controller { 

    function __construct(){ 
     parent::__construct(); 
    } 

    public function index($cat_id = null){ 

    } 
} 

的問題是當我把它從瀏覽器...我用這個:

http://www.mysite.dev/categories/12311323 

但返回404錯誤頁面

,而不是如果我使用

http://www.mysite.dev/categories/index/12313131 

將正常工作......

我如何能確保它不會需要指數的URL爲索引功能?

回答

6

默認的CodeIgniter路由是/ controller/function/argument。爲了指定參數,您需要先指定該函數。如果你想指定一個沒有函數的參數,你需要定義一個自定義路由。將此行添加到您的路由配置文件應該做你想做的。

$route['categories/(:num)'] = "categories/index/$1"; 
+0

是的,我有這個,但我忘了添加/索引/ ...哎呀我需要一些睡眠 – fxuser

+0

感謝@Slipflurry這是非常有用的........ – Neeraj

1

描述的是CI的默認路由(預配置)。你可以自己定義你的問題作品中描述的模式。參見:URI Routing