我有一条如下所示的路线:
Router::connect('/Album/:slug/:id',array('controller' => 'albums', 'action' => 'photo'),array('pass' => array('slug','id'),'id' => '[0-9]+'));
还有一个是这样的:
Router::connect('/Album/:slug/*',array('controller' => 'albums','action' => 'contents'),array('pass' => array('slug')));
对于与第一个不匹配的内容。在“相册”控制器的“内容”操作中,我自己负责分页——这意味着我检索命名参数“页面”。第二条路由的 URL 如下所示: http ://somesite.com/Album/foo-bar/page:2
上面的 URL 确实有效,但是当我尝试使用 HTML Helper (url,link) 输出这样的 url 时,它会将控制器和操作附加到开头,如下所示: http ://somesite.com/albums/内容/专辑/foo-bar/page:2
我不喜欢。使用 HtmlHelper 的代码如下:
$html->url(array('/Album/' . $album['Album']['slug'] . '/page:' . $next))