我正在寻找有关如何避免的建议:
$route = array(
'directory' => 'accountdirectory/index',
'directory/(:any)' => 'accountdirectory/index/$1',
'directory/(:any)/(:num)' => 'accountdirectory/index/$1/$2' ...
如果可能的话,通过更宽容的单一模式,如果所有段都不存在,路由不会中断:
'directory(/)?(:any)?(/)?(:any)' => 'accountdirectory/index/$1/$2'
路由
答案 0 :(得分:1)
您可以使用一条路线:
$route = array(
'directory' => 'accountdirectory/index',
...
)
并定义accountdirectory / index函数,如下所示:
public function index($arg1 = null, $arg2 = null) {
if ($arg === 'all' && $arg2 !== null) {
// directory/all/XXXX
}
elseif ($arg1 === 'all') {
// directory/all
}
else {
...
}
}
答案 1 :(得分:0)
$route['404_override'] = 'directory';
然后你可以在构造函数或索引函数中使用if或switch语句根据其他uri段从那里重定向。