真假静态的详细讲解

xiaoxiao2021-02-28  54

真静态(静态化): 真静态优点:能够减轻服务器压力,更少的操作mysql,可以高效的提高访问网站的速度, 原理:在用户访问PHP程序时,首先检测静态的HTML文件是否存在,如果存在直接输出静态文件,如果静态文件不存在,查询数据库,生成静态文件,并输出 博主首先想到的事关于ob系列的函数(一定要熟练地知道每个ob函数的作用及返回类型): ob_start() :打开输出控制缓冲 返回值:成功时返回 TRUE, 或者在失败时返回 FALSE. ob_get_contents() :返回输出缓冲区的内容 返回值:输出缓冲区的内容,或者如果输出缓冲区无效将返回FALSE ob_clean() :清空(擦掉)输出缓冲区的内容。 没有返回值 ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区 返回值:成功时返回 TRUE, 或者在失败时返回 FALSE ob_flush() :冲刷出(送出)输出缓冲区中的内容。 没有返回值 ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。 返回值:成功时返回 TRUE, 或者在失败时返回 FALSE

伪静态(纯净态): 原理:将PHP程序生成静态的HTML文件,保存到服务器的磁盘中。 # 开启 去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号; # 关闭配置文件中的vhost #Include conf/extra/httpd-vhosts.conf #Include conf/vhosts.conf # 然后再在httpd.conf中书写如下规则(设置相对应的都已有多个): RewriteEngine on #当访问任何以t_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后,访问相应的test.php页面 RewriteRule ^/t_(.*).html$ /test.php?id=$1 RewriteRule ^/goods/t_(.*).html$ /goods/test.php?id=$1 RewriteRule ^/goods/a/t_(.*).html$ /goods/a/test.php?id=$1 # 修改httpd.conf文件中的所有"AllowOverride None"为"AllowOverride All"; 开启.htaccess一定使用相对目录 RewriteEngine on RewriteRule ^t_(.*).html$ test.php?id=$1 RewriteRule ^hello_(.*).html$ test/test.php?id=$1

真静态的代码实现连接:https://mp.csdn.net/postedit/80342356
转载请注明原文地址: https://www.6miu.com/read-2599996.html

最新回复(0)