真假静态的详细讲解

真静态(静态化):

       真静态优点:能够减轻服务器压力,更少的操作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.youkuaiyun.com/postedit/80342356

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值