次のようなルートが1つあります。
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')));
最初のものと一致しないもののために。'albums'コントローラーの'contents'アクションでは、ページ付けを自分で処理します。つまり、名前付きパラメーター'page'を取得します。2番目のルートのURLは次のようになります: http ://somesite.com/Album/foo-bar/page:2
上記のURLは確かに機能しますが、HTMLヘルパー(url、link)を使用して次のようなURLを出力しようとすると、次のようにコントローラーとアクションが先頭に追加されます。http: //somesite.com/albums/コンテンツ/アルバム/foo-bar/ page:2
私は好きではありません。HtmlHelperを使用するコードは次のとおりです。
$html->url(array('/Album/' . $album['Album']['slug'] . '/page:' . $next))