PHP 页面静态化纯静态化伪静态化

PHP 页面静态化纯静态化伪静态化,第1张

概述概念PHP静态化分为:纯静态化和伪静态化;纯静态化又分为:局部静态化和完全静态化纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,局部静态化:是生成的静态文件中,有局部的数

概念

PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化

纯静态化:是把PHP生成的动态页面保存成静态的HTML文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,

    局部静态化:是生成的静态文件中,有局部的数据还是通过AJAX技术动态获取的;    完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的HTML页面

伪静态化:Apache服务器rewrite配置

纯静态化的实现

利用PHP内置的ob函数实现页面的静态化,大概步骤如下:

<?PHP ob_start();//开启缓存 ?><p>我是要生成的静态内容,也可以在该处链接数据库生成动态内容于此</p><?PHP file_put_contents( 'index.HTML', ob_get_clean() );//把生成的静态内容保存到index.HTML文件,而不是输出到浏览器?>

触发系统生成纯静态化页面

方法:页面添加缓存时间;手动触发

页面添加缓存时间

<?PHP$file_name = 'index.HTML';if(file_exists( $file_name ) &&  filemtime( $file_name ) - time() < 10 ){//如果文件是存在并且最后修改时间小于设定时间 10s    //filemtime( $file_name );//得到文件最后修改时间    //time();//当前时间    require_once( $file_name );//引入文件}else{ ob_start( ); ?><p>我是要生成的静态内容</p> <?PHPfile_put_contents( $file_name,  ob_get_contents() )//输出到浏览器}

如果后台数据存在更细,定时刷新不能及时更改静态页面,怎么办?所有引入了手动触发的功能

linux下的crontab定时扫描程序

*/5****PHP/data/static/index.PHP

PHP伪静态

Apache服务器rewrite配置

在httpd.conf文件中,找到

#注释:去掉前边的" # "开启rewrite服务,重启服务器生效#LoadModule rewrite_module modules/mod_rewrite.so#注释:http-vhosts.conf文件是虚拟域名配置的文件,开启改文件可以配置虚拟域名,一般默认是开启的#Include conf/extra/httpd-vhosts.conf 

rewrite伪静态配置

<VirtualHost *:80>    Server@R_502_5976@ [email protected]    documentRoot "c:/Apache24/docs/dummy-host.example.com"    Servername dummy-host.example.com    ServerAlias www.dummy-host.example.com    ErrorLog "logs/dummy-host.example.com-error.log"    CustomLog "logs/dummy-host.example.com-access.log" common    #配置规则如下所示    RewriteEngine on    RewriteRule ^/vidio/([0-9]*).HTML$ /vidio.PHP?ID=    </VirtualHost>
总结

以上是内存溢出为你收集整理的PHP 页面静态化/纯静态化/伪静态化全部内容,希望文章能够帮你解决PHP 页面静态化/纯静态化/伪静态化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存