3个回答
展开全部
页面的静态方式无外乎两种,一种如楼上说的 伪静态,使用web服务器(如apache或者nginx)的rewrite功能实现伪静态.
另外一种就是生成真正的页面文件在那里.
如果是前一种.楼上说了不在多说
补充下后一种.
在PHP里面有一组函数 ob_ 打头的 能够捕获输出.
在渲染模板之前.使用ob_start.然后ob_get_contents 来获取输出内容.此时能够得到要输出的内容
调用PHP的文件函数,如file_put_contents.或者fopen.fwrite等系列函数,将这些内容写入到文件里面去,再将文件保存在真实要存在的地方,于是就生成了静态页面.
举个例子来说
<?php
include("header.php");
$data = get_data();//假如这个是从数据库出来的数据
if($data){
foreach($data as $val){
echo "内容:".$val['title'];
}
}
include("footer.php");
假设上面的代码实现了一个页面的输出.
那么可以这么干
<?php
ob_start();
include("header.php");$data = get_data();//假如这个是从数据库出来的数据
if($data){
foreach($data as $val){
echo "内容:".$val['title'];
}
}
include("footer.php");
$content = ob_get_contents();
$path = "./wwwroot/index.html";
$res = file_put_content($path,$content);
echo "页面生成完毕,页面大小:{$res/1024}K";
好了 页面就生成完了.
基本就是这个思路.不懂欢迎追问.
展开全部
后台是不需要生成静态页的!!前台生成即可!!静态是为了收录,后台无非是为了管理员方便管理
追问
我疯了?把后台生做成静态干嘛- - 说的就是通过后台把前台做成静态。。
追答
你说的是伪静态吧 给你网上的三种方法!我们一般是修改.htaccess 实现!!方法很多!!框架基本都自带这个
1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。2.让apache服务器支持.htaccess如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找Options FollowSymLinksAllowOverride None改为
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询