2013-09-26 43 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。我这样做,它在互联网(服务器)上工作,但现在不在我的本地服务器上。 :/ –