因为我需要这样的路线:
/my-example-of-product-p120.htm
/my-example-of-category-c10.htm
我写了我的路线:
Router::connect(
'/:slug-p:id',
array('controller' => 'product', 'action' => 'view'),
array('pass' => array('id'),
array(
'id' => '[0-9]+',
'slug'=>"[a-z0-9\-]+"
)
)
);
Router::connect(
'/:slug-c:id',
array('controller' => 'categories', 'action' => 'view'),
array('pass' => array('id'),
array(
'id' => '[0-9]+',
'slug'=>"[a-z0-9\-]+"
)
)
);
但CakePhp无法识别我的路线。 有人可以帮帮我吗?
答案 0 :(得分:1)
问题来自以下分隔符:slug和:id(“ - p”或“-c”) 所以我只是把它放在参数
中Router::connect(
'/:slug:sep:id',
array('controller' => 'product', 'action' => 'view'),
array('pass' => array('id'),
array(
'id' => '[0-9]+',
'sep' => '-p',
'slug'=>"[a-z0-9\-]+"
)
)
);
Router::connect(
'/:slug:sep:id',
array('controller' => 'categories', 'action' => 'view'),
array('pass' => array('id'),
array(
'id' => '[0-9]+',
'sep' => '-c',
'slug'=>"[a-z0-9\-]+"
)
)
);