我有很多模块,并且根据模块动态生成路由。为了解释的目的,我只为一个模块添加路线。以下是users
模块的路线。
<?php
//1
$router->add('/users',array(
'module' =>'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action' => 'index'
));
//2
$router->add('/users/:params/',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action' => 'index',
'params'=>1
));
//3
$router->add('/users/:action',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action'=>1
));
//4
$router->add('/users/:action/:params',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action'=>1,
'params'=>2
));
?>
假设用户模块的 url 是
http://www.example.com/admin/users/
此 url 与第一条路线相匹配,并按预期工作。但是当我们导航到下一页时,我的网址看起来像
http://www.example.com/admin/users/2
现在的问题是它应该匹配第二条路线,但它匹配第四条路线。如果我将第二条路线一直向下移动,上面的 url 可以工作,但 url
http://www.example.com/admin/users/search/1
不起作用
任何人都可以帮我让它工作吗?谢谢