泛路由规则中需要使用PHP正则表达式来对路由进行匹配,具体语法规则如下:
return array(
// 泛路由
'RouteName@'=>array(
array('路由匹配正则', '模块名称', '操作名称', '参数定义', '额外参数'),
),
)
提示
如果您使用的是 ThinkPHP 2.1RC 及更高版本,请同时参阅《ThinkPHP 2.1 版本 URL 路由规则对比 2.0 版本的变更》。
以本文开始的例子为例,泛路由配置如下:
return array(
// 泛路由
'product@'=>array(
array('/^\/(\d+)$/', 'Products', 'show', 'product_id'),
array('/^\/(\d+)\/(\d+)$/', 'Products', 'archive','year,month'),
),
)
泛路由规则中,使用正则表达式来匹配 URL 地址中路由名后边的字串,如下红色部分:
http://www.520mg.com/index.php/product/2010/10
其他参数上的使用和常规路由的使用一致。