【问题标题】:CakePHP 1.3 Routing problemCakePHP 1.3 路由问题
【发布时间】:2011-05-18 20:01:52
【问题描述】:

它无法从以下位置更正路线:

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>

我该怎么办? 环境:CakePHP 1.3.6 php5.2.5 on apache2

【问题讨论】:

    标签: cakephp routes cakephp-1.3


    【解决方案1】:

    Route /ctl/act/subact/:mode/:sort 表示必须有:mode:sort 参数。此路由与 URL /ctl/act/subact/ 不匹配。如果有可选参数,则需要用星号表示:/ctl/act/subact/*。此路由将匹配 URL /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'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 2012-03-03
      • 2012-11-28
      • 2016-04-07
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多