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干货丨深度解析静态化的好处
地址分享:/news23/225473.html
成都网站建设公司_创新互联,为您提供动态网站、营销型网站建设、云服务器、品牌网站建设、品牌网站设计、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容