-
11月07日
-
静态路由其实属于规则路由的静态简化版(又称为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