thinkphp url路由规则实例

浏览:238    发布时间:2019-03-26 21:15:49

Thinkphp路由是如何定义的。应该在项目配置文件 Conf/config.php 里定义如下规则:


//路由定义

'URL_ROUTE_RULES'=> array(

    'product/:category\d/:id\d'=>'Products/Show', //规则路由

),

当我们访问如下这个地址的时候:


https://www.zhandianbao.com/index.php/product/5/123

会将该地址解析到 Products 模块的 Show 操作,并传入 get 参数 category=5&id=123。


如果有额外的固定参数,如 status=1,可以定义路由:


'product/:category\d/:id\d'=>'Products/Show?status=1', //规则路由

也即匹配下面这个 URL 地址:


https://www.zhandianbao.com/index.php/product/5/123/1

上面都是按格式1来定义的路由,在有额外参数的情况下,可以转换为第2种定义格式:


'product/:category\d/:id\d'=>array('Products/Show','status=1') 

上面的路由规则中 \d 表示只匹配数字,当不加此约束时,则可匹配所有字符,这也是默认情况。