0

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',
                        ),
                    ),
                ),
            ),
        ),

セグメントの子ルートを使用していますが、リテラルの子ルートにも同じ問題が存在します。

ページクエリと子ルートを保持する方法はありますか?

4

1 に答える 1

0

これで解決です。誰かが同じ問題を経験した場合、これが私にとってはうまくいきました。

  • すべてのキャッシュをクリアします (EdpSuperluminal、APC など)
  • Zend ライブラリを削除する
  • Zend ライブラリを使用せずにアプリケーションを実行します (もちろん、多くのエラーが発生しますが、これは動作させるために非常に重要なことのように思えました)。
  • Zend ライブラリを再インストールする
  • アプリケーションを再度実行します

2.1.5dev をインストールしたところ、問題が修正されました。それがバグかどうかを確認したかったので、2.1.4 で再試行しましたが、問題はまだ修正されていました。これが私の結論です。キャッシュは奇妙なものになる可能性があります。

編集(間違った) 結論に飛びつくのが早すぎました。Zend Studio 10 を起動すると、再びバグが発生します。Zend Studio 10 は一部のファイルを元に戻していたと思います (Query ルートが非推奨としてマークされたため、すべてではありません)。それでも、これは解決したと考えてください。Zend Studio 10 に 2.1.4 を使用するように指示する方法を見つける必要があります。ありがとう!

于 2013-03-28T23:17:52.717 に答える