无法纠正以下路线:
Router::connect('/ctl/act/subact/:mode/:sort'
, array('controller' => 'ctl', 'action' => 'act_subact',
'mode' => null , 'sort' => null));
-
$html->link('go',array('controller'=>'ctl','action'=>'act_subact'))
-
<a href="/ctl/act_subact/">go</a>
我该怎么办? 环境:关于apache2的CakePHP 1.3.6 php5.2.5
答案 0 :(得分:2)
路线/ctl/act/subact/:mode/:sort
表示必须有:mode
和:sort
参数。此路线与网址/ctl/act/subact/
不匹配。如果有可选参数,则需要用星号表示:/ctl/act/subact/*
。此路线将与网址/ctl/act/subact/
,/ctl/act/subact/foo
和/ctl/act/subact/foo/bar
匹配。
如果您需要这些可选参数作为命名参数,则需要为每个可能的“长度”创建多个路径:
Router::connect('/ctl/act/subact/:mode/:sort', array('controller' => 'ctl', 'action' => 'act_subact', 'mode' => null, 'sort' => null));
Router::connect('/ctl/act/subact/:mode', array('controller' => 'ctl', 'action' => 'act_subact', 'mode' => null));
Router::connect('/ctl/act/subact/', array('controller' => 'ctl', 'action' => 'act_subact'));