2013-09-26 72 views
1

我正在嘗試編寫一個應用程序,該應用程序從url中獲取參數並將其提供給默認控制器中的索引函數。然後根據此參數決定要加載的內容,既可以是默認主頁,也可以是自定義頁面。Codeigniter Routing

$route['(eventguide/:any)'] = 'eventguide'; 

此代碼的工作,但只有當我有像這樣在URL中的控制器:

example.com/eventguide/(parameter)

我不想包括控制器名。所以我不確定如何路由此。

理想情況下,url看起來像example.com/(parameter),這可能嗎?

回答

3

是,你幾乎沒有:

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

而在你的index()方法,您將獲取參數:

public function index($parameter = null){ 

} 

$parameter現在將包含任何由:any快捷抓,這應該相當於(\w)+ IIRC

由於這是一條全路徑的路線,請注意將任何其他自定義路線你想之前它,否則他們將永遠達不到。
對於離,如果你有一個控制器「管理員」,你的路線文件應該;:

$route['admin'] = "admin"; 
$route['(:any)'] = "eventguide/index/$1"; 
+0

我有一個名爲admin另一個控制器,當我嘗試加載此它只是帶我到索引控制器。我現在如何鏈接到此控制器?例如example.com/admin – Danny

+1

將它放在前面。查看更新。 –

+0

我有路由問題。我正在使用CI版本2.1.3。我這樣做,它在互聯網(服務器)上工作,但現在不在我的本地服務器上。 :/ –