看了 xgdd1987 的有关 CI 页面缓存问题的终极解决方案感觉有一些地方不合我的想法:
1、修改了 URI 类,使其支持中文那块,实际就是修改了配置文件的 permitted_uri_chars,使安全性降低了。注释原句是:“DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!”
2、对于在子文件夹下的控制器产生的缓存也是仅有控制器名称和方法名称,这有可能造成重名的可能,如 welcome+index
我按我的思路修改的了MY_out.php,通过路径进行判断确定的文件夹或控制器名称。对于有子文件夹的缓存可以按子文件夹名称+控制器名称+方法名称生成目录。似乎最多只能有一层子文件夹,不过我这个可以不限定多少层。
有的希望对还加上传递的参数的名称命名,也可以定义。
注意:为了防止生成无效的缓存,这里定义了一个层级,当超过层级后,系统会截取指定的URI片段并跳转。
如:localhost/dir/controller/founction/param1/param2
代码:
我按楼主说的方法鼓捣了半天也没弄成功,生成的缓存还是和CI自带的一样没有变,也没有生成存放缓存的文件夹,不知道是什么原因。。。修改URI类,让它支持中文参数,我认为是把URI功能扩大了,如果不修改,你在地址栏里输入中文参数,程序就会出现这样的提示:An Error Was Encountered The URI you submitted has disallowed characters. 我认为身为中国人,写的程序就得兼容中文才行,而不是去禁止用中文。。 呵呵。。我刚才花了好长的时间,修改了一下我原来的那张帖子,希望你再去看一下。我的帖子的地址是:http://codeigniter.org.cn/forums/thread-3216-1-1.html 。还有你的这个缓存我怎么都调试不成功,希望你给我点提示。。还有,就是调用起来有点麻烦...