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/news/225473.html

成都网站建设公司_创新互联,为您提供动态网站ChatGPT网站设计公司网站改版做网站全网营销推广

广告

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

搜索引擎优化