静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限。

如果我们定义了下面的静态路由

'URL_ROUTER_ON'   => true, 
'URL_MAP_RULES'=>array(
    'new/top' => 'news/index?type=top'
)

注意:为了不影响动态路由的遍历效率,静态路由采用URL_MAP_RULES定义和动态路由区分开来

定义之后,如果我们访问: http://serverName/Home/new/top

其实是访问: http://serverName/Home/news/index/type/top

静态路由是完整匹配,所以如果访问: http://serverName/Home/new/top/var/test

尽管前面也有new/top,但并不会被匹配到news/index/type/top

静态路由定义不受URL后缀影响,例如: http://serverName/Home/new/top.html 也可以正常访问。

静态路由的路由地址 只支持字符串,格式:[控制器/操作?]参数1=值1&参数2=值2