codeigniter路由有關問題

來源:互聯網
上載者:User
codeigniter路由問題
對codeigniter不太熟悉.尤其路由這塊.現在改一套系統.自己寫的控制器後訪問總是出現“route_error”錯誤;

比方說我寫了個login.php控制器放在controllers/admin目錄下,我直接存取www.abc.com/admin/login 就會出現“route_error.”錯誤。
如果我在route.php加上一行:
$route['admin']="admin/login";
這樣就可以了。但是太麻煩了,我不可能每寫一個控制器就去修改一下route.php吧?!

下面是我的route.php檔案。看不懂以前是什麼意思,大家幫忙看看怎麼設定我才可以正常來寫我的控制器而不影響以前的使用:

$route['default_controller'] = "welcome";
$route['scaffolding_trigger'] = "";

//name-of-school/class-of/firstname-lastinitial/photo-albums/album-name/upload/
$route['([a-zA-Z0-9\-_ ]+)/([a-zA-Z0-9\-_ ]+)/([a-zA-Z0-9\-_ ]+)/(video|photo)\-([a-zA-Z0-9\-_ ]+)/([a-zA-Z0-9\-_ ]+)/([a-zA-Z0-9\-_ ]+)(/([a-zA-Z0-9\-_ ]+))*'] = "user/$4_$5/$7/$8";

$route['([a-zA-Z0-9\-_]+)/school_admin/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)(/([a-zA-Z0-9\-_]+))*'] = "school_admin/$3/$4$5";

$route['([a-zA-Z0-9\-_]+)/group_admin/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)(/([a-zA-Z0-9\-_]+))*'] = "group_admin/$3/$4$5";


//name-of-school/class-of/firstname-lastinitial/games/game-name/
$route['([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)(/([a-zA-Z0-9\-_]+))*'] = "user/$4/$5/$6";


//logout
$route['(logout|login|register)'] = "member/$1";

//404
$route['(games|video-albums|photo-albums|group|admin|groupadmin|yearbook|settings)(/.*)*'] = "error";


------解決方案--------------------
www.abc.com/index.php/admin/login
------解決方案--------------------
queryphp 架構路由可以使用名字


其它設定 可以添加自己定義的路由規則:
C("router")->ruleMaps('logout','/logout', array('controller' => 'auth', 'action' => 'logout'));
C("router")->ruleMaps('signup','/signup', array('controller' => 'auth', 'action' => 'signup'));
C("router")->ruleMaps('profile','/profile/:action', array('controller' => 'profile')); // will call controller "Profile" with dynamic method ":action()"
C("router")->ruleMaps('users','/users/:id', array('controller' => 'users'), array('id' => '[\d]{1,8}')); // define filters for the url parameters


http://code.google.com/p/queryphp/downloads/list
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.