ReadHtmlCacheBehavior中的
define('HTML_FILE_NAME', HTML_PATH. $rule . C('HTML_FILE_SUFFIX'));
改为:$htmlPath = C('HTML_PATH');
if(empty($htmlPath)){
$htmlPath = HTML_PATH;
}
define('HTML_FILE_NAME', $htmlPath. $rule . C('HTML_FILE_SUFFIX'));
静态缓存配置如下:return array(
'HTML_CACHE_ON' => true,
'HTML_CACHE_TIME' => 0,
'HTML_PATH' =>RUNTIME_PATH."Cache/".GROUP_NAME.'/Htmls/',
'HTML_READ_TYPE' => 0,
'HTML_CACHE_RULES'=>array(
'*'=>array('{$_SERVER.REQUEST_URI|md5}'),
)
);
简单说下我的理解,Dispatcher.class.php加载独立分组配置文件时,用C方法缓存了变量以及变量的值,跟define定义的HTML_PATH不一样。所以在生成静态页面的时候,发现自己在config.php里设置的配置未生效。按照上面的代码修改后,指定静态缓存目录成功。

最佳答案
