2012-02-15 107 views
2

我用我的routes.php文件下面的代碼隱藏從URL結構控制器名稱:隱藏笨控制器名稱與多個控制器

$route['(:any)'] = "auth/$1"; 

它的偉大工程,但我的問題是這樣的:當我想訪問另一個控制器時,它似乎將其視爲隱藏控制器的功能。

舉例來說。我有

http://mysite.com/controller1/somefunction 

它變成:

http://mysite.com/somefunction 

如果我想訪問:

http://mysite.com/jsonfunction/anotherfunction/ 

如何訪問另一個控制器,同時保持另一種隱藏?我真的不希望遊客看到http://mysite.com/maincontroller/這是多餘的!

+0

請參見[這個線程(http://stackoverflow.com/questions/7618633/routes-in -codeigniter-自動) – 2012-02-16 00:07:50

回答

2

你將不得不定義你的路線更具體我害怕。 您仍然可以使用:

$route['(:any)'] = "auth/$1"; 

但它可能會去你的路由列表中的按鈕。

如果你想要添加其他路線,否決那些你必須將它們放在最前面的路線。 例如像這樣:

$route['login'] = "auth/login"; 
$route['varY'] = "controllerX/varY"; 
$route['varY/(:any)'] = "controllerX/varY/$1"; 
$route['foobar'] = "controller/method"; 
$route['(:any)'] = "auth/$1"; 

請參閱本文檔的詳細信息,供日後參考: http://codeigniter.com/user_guide/general/routing.html