php技术创新:利用动态404页面实现全站自动静态化

     还就没到这里来了,不知道大家对我还有印象没有?上次来记得是给一个眼角膜脱落的兄弟捐款,那时候我对php还一窍不通呢。经过一年多的刻苦学习,现在我又回来了这次不仅初步掌握了PHP语言,还带来了一篇刚刚发表在admin5的技术创新文章,请高手们多多指教。

 搜表情QQ表情搜索引擎由本站自行研发,采用了多项技术创新。如利用404错误系统实现程序自动生成静态文件、html自动定时更新、利用discuz论坛为后台的cms文章管理系统(dz cms)、多用户图片搜索引擎等。其中表情搜索引擎以discuz插件的形式实现,后台部分拥有万能图片采集器,方便不懂采集的录入员使用。下面就详细介绍一下本站的一些技术细节。
  一、开发了新的DISCUZ HOME 系统 DZ CMS。
  传统的DZ HOME页很常见,虽然外表像一个网站,但是只能作为一个论坛导航使用,点击内容后仍然是进入论坛页面。而且DZ作为一个互动论坛,没有真正的实现全站静态化。他的伪静态只能作为seo工具,而不能起到减少系统消耗的作用。(DZ提高负载采用的是缓存系统)。针对这些问题,本站开发者大胆创新,研发了一套解决方案,优化了DZ作为网站使用的性能和效果,实现了DZ后台化。具体实现了以下内容:
  1、拥有二级页面。并非论坛帖子列表,而是专门的二级页面
  2、并非所有论坛帖子都能上首页和栏目页,只有精华帖才可以上榜(也可改为固定主题上榜),起到了帖子审核作用。
  3、拥有专门的内容显示页面,而不是以论坛帖子的形式显示
  4、最终内容显示页全部重新构架,重写了内容读取,图片、flash显示ubb处理,以使其更加适合作为网站的需要
  5、本系统与dz结合的方式为模板中的栏目与论坛栏目id对应,而不需要对DZ源程序进行任何改动,完全继承了DZ的安全性,所有内容管理操作均在论坛前台完成。你只要设置好栏目权限就可以了。
  6、网站全部内容静态化,更加符合作为网站的需要。为了在不改动DZ源码实现静态生成,特别开发了404智能自动补缺和html自动更新系统,下面详细介绍。
  二、打破传统的静态生成方式
  在传统CMS中,如dede等,需要在发布文章后在后台进行生成静态或者更新静态文件。相当费事费时。而本系后台是Dz论坛,因为为了保持安全性,就要求不对DZ源代码做出任何改动,因此无法设置普通的静态更新系统,最后开发了全新的解决方案达到了要求。做到了自动生成、定时更新。使的网站管理非常方便,下面就说说实现的方法和使用到的技术。
  1、 利用404错误智能自动生成静态:
  传统CMS都有批量更新或者批量生成功能。本系统则完全无需非常耗费时间的批量生成。因为我们采用了智能404文件来生成不存在的静态页面。整个系统的运作方式如下:
  当我发表一篇文章,并设为精华,让其在网站的内容列表中显示。内容列表再更新后,收录这个文章,链接并非指向论坛帖子,而是根据栏目ID和帖子 ID,指向一个特定文件名的html静态文件。并且这个时候这个html并不存在。当这个链接被点击,由于文件不存在,因此系统将浏览器导向404错误页面,而本站的404错误页面是名为404.php的动态文件,截取系统发来的错误信息,并根据上不存在的文件名称和路径,使用正则进行分析,如果这是一个符合特定规则命名的文件,就连同分析结果一起导入到相应的静态生成程序,而生成程序按照404传递的参数在合适的地方生成一个按照规则命名的html文件,并跳转到这个文件。整个过程不足1秒,你不会察觉你正在看的网页在你点击的时候还不存在。
  本系统可以生成二级栏目和最终页面,以及他们的的后续分页,在本站实际应用中,DZ CMS文章系统和表情图片搜索引擎这个专门的系统共用一个智能404程序,实现两个系统的静态生成或者叫做静态补缺工作。
  如果本站需要全部重新生成文件,只需要把所有的静态文件删除,就可以了,整个系统会根据用户的点击把的文件慢慢恢复。
  2、html自动定时更新:
  这个功能是在php自动生成html功能上改进的。以前本功能是直接访问php文件,然后由php文件判断html文件是否存在或者更新时间,如果需要更新,就更新生成html文件并跳转到html文件。如果不需要更新,就直接跳转到html文件。以此实现html的定时更新。但是这个方法对 seo不利。因为首先访问的是php文件,再由php跳转到静态文件。因此,这种方法只能缓解流量压力,不适合seo。为此本站利用html调用js文件,来实现html的定时更新。现在是直接访问html静态文件,由js调用一个php动态文件。在这个php里对html的更新时间进行检查,如果需要更新,就调用相应php文件来更新访问的这个html。因为直接访问的就是静态文件,无需动态文件跳转,因此比原来的方法更加适合seo。另外通过js调用的这个php文件平时还负责统计并更新本页面的点击次数。这是一般静态网站做不到的。
  3、后台、前台完全分离
  因为本系统与DZ论坛仅仅是ID对应即可,前后台完全分离。模板系统使用DZ论坛,只要把前台的模板放入DZ论坛默认皮肤模板路径即可,方便开发者使用。目前评论系统正在开发,同分页原理一样,采用dz论坛的回帖功能,目前还有几个问题需要解决,敬请期待。
  4、 这样做的好处:
  a) 生成静态有利于seo,并且有利于环节服务器运算压力
  b) 自动生成静态,无需专门批量更新生成静态,节省时间和系统资源
  c) 自动更新静态,并统计页面点击数,做到传统cms无法做到的事情
  d) 智能404的利用,不仅可以报404错误、还能自动生成应有但不存在的页面,并且本站的常规错误报告也是使用这个系统来实现的。
  e) 对DZ原始程序不做任何改动,完全继承DZ的安全性
  这篇文章就到这里,下面文章我会详细介绍下本站得多用户表情搜索引擎的实现原理,希望同网络界同行多多交流,有不当的地方还请多多指正不吝赐教,以帮助本人成长。
  本系统还在不断开发完善中,欢迎您访问http://www.soubq.com 同时本站诚招QQ类 表情类网站高质量链接,对于在我们发展初期给与帮助的兄弟姐妹,我们会永远铭记并回报。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值