2.1.4 から Query ルートは非推奨になったため、次のようにブログにルーティングしています。
'cro-blog' => array(
'type' => 'Literal',
'options' => array(
'route' => '/blog',
'defaults' => array(
'controller' => 'CroBlog\BlogController',
'action' => 'index',
),
),
),
そして、ページ番号/blog?p=x
がどこにあるかのようなページへのリンク。x
子ルートを追加するまで、これは完全に機能します。へのリンクは/blog
引き続き機能しますが、ページへのリンクは 404 を返します (より具体的には、「ルーティングによって要求された URL が一致しませんでした。」)。これは私の現在の設定です:
'cro-blog' => array(
'type' => 'Literal',
'options' => array(
'route' => '/blog',
'defaults' => array(
'controller' => 'CroBlog\BlogController',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'post' => array(
'type' => 'Segment',
'options' => array(
'route' => '/:slug',
'constraints' => array(
'slug' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'action' => 'post',
),
),
),
),
),
セグメントの子ルートを使用していますが、リテラルの子ルートにも同じ問題が存在します。
ページクエリと子ルートを保持する方法はありますか?