0

Bootstrapからコントローラをキャッシュしようとしています

questionController というコントローラーがあり、questionController をキャッシュしたときにアラビア語を使用しています (以下のコードのように) 適切に動作します。しかし、 my.local/اسئلکのようにこのコントローラーにルーティングを追加すると、questionControllerキャッシュが機能しません。コントローラーを名前で直接呼び出したときにのみ機能しますが、ルーティング (アラビア語) 名では機能しません。

私のBootstrap.phpの私の関数関数は

protected function _initCache()
{
        mb_internal_encoding("UTF-8");
        $dir = "/var/www/data/cache/";
        $frontendOptions = array(
            'lifetime' => 10800,
            'automatic_serialization' => true,
            'debug_header' => true,                
            'regexps' => array(
                '$' => array('cache' => false),
                '/question' => array('cache' => true),
            ),
            'default_options' => array(
                'cache_with_cookie_variables' => true,
                'make_id_with_cookie_variables' => false
            )
        );

        $backendOptions = array(
                'cache_dir' =>$dir
        );
        $cache = Zend_Cache::factory('Page',
                             'File',
                             $frontendOptions,
                             $backendOptions);
        $cache->start();
 }

そして私の敗走は

$router->addRoute('questionRout', new Zend_Controller_Router_Route('اسئله', array('controller' => 'question', 'action' => 'view')));

my.local/question ---> キャッシュが機能しています

my.local/話者 ---> 動作せず 、mb_internal_encoding("UTF-8") を使用しました。

助けてください ありがとう

4

1 に答える 1

1

キャッシュのフロントエンドオプションで、キャッシュに含まれる /question url slug を分離しています

'/question' => array('cache' => true),

したがって、これにより他のパスが除外されます。

于 2013-06-18T14:04:56.223 に答える