1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php技术创新:利用动态404页面实现全站自动静态化

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

时间:2020-12-19 19:55:56

相关推荐

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的安全性

这篇文章就到这里,下面文章我会详细介绍下本站得多用户表情搜索引擎的实现原理,希望同网络界同行多多交流,有不当的地方还请多多指正不吝赐教,以帮助本人成长。

本系统还在不断开发完善中,欢迎您访问 同时本站诚招QQ类 表情类网站高质量链接,对于在我们发展初期给与帮助的兄弟姐妹,我们会永远铭记并回报。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。