0

我正在尝试使用Bootstrap中的 Cashe 控制器

我有一个名为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 回答