用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3127|回复: 4
收起左侧

[HELP] 生成静态文件的问题

[复制链接]
发表于 2013-12-29 16:45:49 | 显示全部楼层 |阅读模式
缓存和页面静态化(真静态)似乎是两码事:一个是加速,一个利于SEO,
那么缓存技术中有生成静态文件的这一方法,这个怎么理解???
发表于 2013-12-30 09:32:19 | 显示全部楼层
ci自带了页面cache 你可以打开试试,然后找一下目录里的缓存的文件,用文本编辑器打开看看内容。
静态化 就是一种 页面缓存。所谓 的“利于seo”只是页面路径做了处理而已。
发表于 2013-12-30 09:45:59 | 显示全部楼层
缓存和页面静态化 都是为了访问加速和减少服务器压力
内容长期不变的 适合生成真正的html静态文件 比如CI社区的中文手册 http://codeigniter.org.cn/user_guide/toc.html
内容短时间内不变但又固定的 比如个人blog 就适合生成缓存(最好的例子是各类模板引擎中的模板缓存) 可以设定为有新内容出现的时候生成缓存(对比md5) 或者定时生成新缓存
至于SEO 静态缓存什么的都不是很重要 重要的是链接方式 比如index.php?a=1&b=2 对于蜘蛛来说就不如index/a/1/b/2 最友好的方式则是 index/a-1_b-2.html
 楼主| 发表于 2013-12-30 16:10:11 | 显示全部楼层
loadinger 发表于 2013-12-30 09:32
ci自带了页面cache 你可以打开试试,然后找一下目录里的缓存的文件,用文本编辑器打开看看内容。
静态化 就 ...

这样啊!我们老师一直在催要我做个全站静态,说是利于SEO,我纠结了很久。。。大侠,再问一个问题:CI做的CMS,后台有个页面是设置前台静态缓存的,有是否开启,和静态文件过期时间的设置,请问要通过怎样的一种方式控制前台页面的静态缓存呢??能大抵说一下思路吗?

发表于 2013-12-31 09:51:35 | 显示全部楼层
Vicky-yl 发表于 2013-12-30 16:10
这样啊!我们老师一直在催要我做个全站静态,说是利于SEO,我纠结了很久。。。大侠,再问一个问题:CI做 ...

http://codeigniter.org.cn/user_guide/general/caching.html
这里是ci手册里关于缓存的说明。

大致原理就是:
model从db读出数据,controller和view把数据放到模板页面里,如果不缓存,就直接输出,这样就每次都要读db。如果要缓存,这里就不直接输出,而是把要输出的数据写成一个带了时间戳的静态文件,再输出。然后在下次访问的时候,先去找这个缓存文件,如果存在,并且比较时间戳,如果没有过期就直接把缓存文件输出,这样就避免了再次访问db而提高性能。但这样做,同时也加重了server 的io负担。所以一般情况是即时性比较高的内容,就不缓存,即时性不高,就可以缓存,所以你的cms才有配置是否缓存,缓存多久的配置项。

大概原理是这样,具体实现还是要复杂很多的,有兴趣可以跟一跟详细的代码。

本版积分规则