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

概念 PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,   局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的;   完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面 伪静态化:其实还是动态访问,其实质是动态生成数据,你访问的网址类似于"http://yourhost,com/index/post/12",是一个静态地址,该地址多见于博客地址,但伪静态化中,你访问的网址实际上经过服务器解析,还是会解析成类似于"http://yourhost,com/?c=index&a=post&id=12"的地址,所以称之为伪静态化   伪静态的优点:美观;便于搜索引擎收录 纯静态化的实现 利用php内置的ob函数实现页面的静态化,大概步骤如下: 复制代码

我是要生成的静态内容,也可以在该处链接数据库生成动态内容于此

复制代码 触发系统生成纯静态化页面   方法:页面添加缓存时间;手动触发 页面添加缓存时间 复制代码

我是要生成的静态内容

ServerAdmin webmaster@dummy-host.example.com 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=$1 复制代码 RewriteEngine其他配置规则以后会再添加 现在你访问http://yourhost.com/vidio/12.html时,相当于访问了http://yourhost.com/vidio.php?id=12 问题:配置完上面的内容后,又存在以下问题?如果项目目录下存在该静态页面时,到底是访问我们的静态页面还是访问我们伪静态的文件呢?     经过测试我们发现,并不会访问静态页面,如果我们想访问我们的静态页面怎么办? 伪静态和静态页面冲突时解决办法: 复制代码 #完整的配置规则如下 RewriteEngine on #添加以下两项,!-d 和 !-f 分别表示 目录 和 文件 #当访问的伪静态和相应的静态目录和文件冲突时,访问静态页面 RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteRule ^/index/([0-9]*).html$ /index.php?id=$1 复制代码 如果你觉得本文对您有帮助,可以留言或点赞哦! >>留于文后 如果您发现文中存在错误,欢迎留言指出,提前感谢!
原文地址:https://www.cnblogs.com/zhang0807/p/10322732.html