首页 > 代码库 > application/config/routes.php

application/config/routes.php

URI路由

这个文件让你重映射URI请求到一个指定的控制器函数

一般来说,在URL字符串和它对应的控制器类/方法中有一个“一对一”的关系。URL中的段通常遵循以下模式:

example.com/class/method/id/

然而,在一些例子,你可能想重映射这个关系,以调用一个不同的类/方法,而不是URL对应的类/方法

请看用户指导,寻求完整信息:

https://codeigniter.com/user_guide/general/routing.html

预留路由

有三个预留路由:

    $route[‘default_controller‘] = ‘welcome‘;

如果URI没有包含任何数据(如访问www.codeigniter.com),这个路由决定了应该加载哪一个控制器类。

$route[‘404_override‘] = ‘errors/page_missing‘;

如果URL中提供的参数不能匹配任何合法路由,这个路由会告诉路由器要使用哪一个控制器/方法

$route[‘translate_uri_dashes‘] = FALSE;

确切地说,这不是一个路由,但是它允许你自动地路由包含破折号“-“的控制器和方法名,‘-’不是一个合法的类或方法名字符,所以它需要翻译

当你设置这个选项为TRUE,它将会置换控制器段和方法段中所有的破折号,如访问my-controller/index将被路由器转换为my_controller/index。

 

如果URI中包含news/create,将调用news控制器的create 方法
$route[‘news/create‘] = ‘news/create‘;
//如果URI的第一段是news,第二段是任意字符,那么将调用news控制器的view方法,并将第二段的任意字符作为参数传递给它
$route[‘news/(:any)‘] = ‘news/view/$1‘;
$route[‘news‘] = ‘news‘;

//如果访问www.codeigniter/index.php/a, 将访问pages控制器的view方法,并传入参数a
$route[‘(:any)‘] = ‘pages/view/$1‘;
//访问www.codeigniter.com时,将访问pages控制器的view方法
$route[‘default_controller‘] = ‘pages/view‘;

 

application/config/routes.php