php干货丨深度解析静态化的好处

2022-12-26    分类: 网站建设

静态化的好处:虽然百度表示不歧视动态网址,但是动态带参的网址仍然容易将Baiduspider带入黑洞,从而被百度放弃,不利于SEO。除了利于SEO,页面静态化还能减轻服务器的访问压力,降低数据库的读写压力,利于性能优化。其三,静态化还能防止SQL注入攻击。

静态化的分类:伪静态和真静态

伪静态化:通过修改URL使得动态URL看上去像静态URL,从而达到亲近搜索引擎的目的。例如:

动态URL:http://localhost/news.php?lang=cn&class=1&id=2

静态URL:http://localhost/news-cn-sport-id2.html

真静态化:通过模版引擎生成静态html文件或通过ob缓存静态化。

【注】页面静态化需要伪静态化和真静态化结合使用,从而达到最终静态化的目的。静态化虽好,但不是所有地方都适用,需要自行判断优劣。

利用ob缓存实现真静态化详解:

Ob缓存:php自带的缓存,默认开启,可以在php.ini文件中查看是否开启。如果ob缓存关闭,那么只有程序缓存,header函数前输出任何内容都会导致程序报错。

Php中操作ob缓存的相关函数:

//开启ob缓存

ob_start();

//把ob内容缓存清空,但是ob缓存还在

ob_clean();

//把ob内容缓存清空,同时关闭ob缓存

ob_end_clean();

//把ob缓存的内容,刷新到程序缓存,同时关闭ob缓存

ob_end_flush();

//把ob缓存的内容,刷新到程序缓存,不关闭ob缓存

ob_flush();

//获取ob缓存内容

$con=ob_get_contents();

//需要把静态页,写入文件.echoprint_rvar_dump,写文件,下断点.

file_put_contents("d://test.html",$con);

该函数是把程序缓存的内容,强制刷新到浏览器

//flush();

下面是一个新闻发布系统,类似这种一旦发布更新不大的系统非常适合静态化。

静态化的时机可以选择发布时,或者第一次查看。由于后台发布系统和前台查看系统在两台不同的服务器上,因此本例是在第一次查看的时候静态化的。数据库中除了必要的标题、内容字段外,另外新增了一个静态化标志,用于判断是否静态化。新闻新增和修改的时候会置为0,静态化的时候会置为1。

代码逻辑结构:

外层if判断服务器中静态文件是否存在,以id命名。

如果存在

内层if判断静态化标志是否为1,

如果为1(表示已经静态化,且无修改)

直接返回该文件;

如果不为1(表示未静态化,有修改)

打开ob缓存,读取文章内容,和模版信息,生成要返回的html代码,并把内容输出到html文件中,更新静态化标志为1,重定向到静态html文件。

如果不存在

打开ob缓存,读取文章内容,和模版信息,生成要返回的html代码,并把内容输出到html文件中,更新静态化标志为1,重定向到静态html文件。

具体代码如下:

本文名称:php干货丨深度解析静态化的好处
地址分享:https://www.cdcxhl.com/news23/225473.html

成都网站建设公司_创新互联,为您提供动态网站营销型网站建设云服务器品牌网站建设品牌网站设计全网营销推广

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设