静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限。
如果我们定义了下面的静态路由
'URL_ROUTER_ON' => true,
'URL_MAP_RULES'=>array(
'new/top' => 'news/index?type=top'
)
定义之后,如果我们访问: 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
也可以正常访问。