导航:首页 > 编程语言 > php生成静态html页面

php生成静态html页面

发布时间:2025-05-15 08:01:19

php生成伪静态html利于seo还是直接生成静态利于SEO

PHP网站优化,动态网站生态静态页和实现伪静态是必走之路,一般采用路径伪静态和页面静态两种方面。
至于优缺点,首先,我们要明确两个概念:
1、伪静态是将动态语言的后缀通过一定的手段,转为 html后缀,服务器上实际访问的是动态的地址。这叫伪静态。蜘蛛对html后缀的网页比较友好。不少网站就采用这样的方式,这样可以欺骗蜘蛛.达到seo优化的效果。
2、生成静态,是将脚本执行过后的内容输入到文本中。这样,下次再请求,就不用服务器去处理了。而是直接返回文本中的内容。这样可以加快访问的速度。

各自的缺点:
1、伪静态访问是实时生产页面,访问量大了就会占用很大的CPU资源。影响服务器处理速度。
2、静态页生成页面,内容多时就会产生更多的磁盘碎片。
但一般企业型网站,内容本身都不多,影响都不大。
什么样的情况下用好?
1、使用联动数据的,需要调用数据库数据实时显示的,最好用伪静态。如果是超大型的网站,比方说同一个程序开发的网站数据量超过百万以上,我们还是主张不要全部采用生成静态页的方式,即使是世上最好的程序员开发出来的,性能最好的内容管理系统。因为生成静态页首页是维护起来比较麻烦,服务器里所生成的文件目录和文件都是比较多的,而且将严重耗费时间和服务器资源和性能。
2、页面简单,内容相对固定的,益用静态页。
3、适当相互结合。
一般大型门户网站都是在采用多个程序,多个服务器,多个二级域名的战略。一个网站肯定会采用很多不同类型的程序和开源程序综合使用,可以把核心的版块和栏目实现静态化。更有利于搜索引擎抓取和减轻服务器的压力。

② php如何生成静态页面

lz只是想要主页生成静态吗?这种问题我回答过,也许可以帮助你
如果是这样就在你的主页(index.php)同一文件夹下建立index0.php并保证当前文件夹可以写入

index0.php代码如下
<?php
ob_start(); //将这里以后的所有输出内容保存
include('index.php'); //加载原首页
$write=ob_get_contents(); //ob_get_contents函数获取输出内容,兼容php4以上版本
if (!$fh = fopen('index.html', 'w')) {
exit("不能打开文件 'index.html'");
}
if(fwrite($fh,$write)===false){
exit("不能写入文件 'index.html'");
}
fclose($fh);
echo "静态首页成功更新!"
?>

每次打开这个页面(index0.php),都会直接显示你的首页(动态地)并将显示的东西写入index.html文件,并在最后显示是否成功更新。当然你可以选择不显示更新状态,看你喜欢如何

以后你就可以通过访问index0.php来生成静态首页,静态首页为index.html

③ 如何用PHP输出静态页面

用PHP输出静态页面有2种方法

一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。

第一种:利用模板

目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。

它们每一种模板,都有一个获取输出内容的函数。

我们生成静态页面的方法,就是利用了这个函数。

用这个方法的优点是,代码比较清晰,可读性好。

这里我用smarty做例子,说明如何生成静态页

<?php
require('smarty/Smarty.class.php');
$t=newSmarty;
$t->assign("title","HelloWorld!");
$content=$t->fetch("templates/index.htm");
//这里的fetch()就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp=fopen("archives/2005/05/19/0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>

第二种方法:利用ob系列的函数

这里用到的函数主要是ob_start(),ob_end_flush(),ob_get_content(),

其中ob_start()是打开浏览器缓冲区的意思,

打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,

而是保存在内部缓冲区,直到你使用了ob_end_flush().

而这里最重要的一个函数,就是ob_get_contents(),

这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),

道理一样的。代码:

<?php
ob_start();
echo"HelloWorld!";
$content=ob_get_contents();//取得php页面输出的全部内容
$fp=fopen("0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>

④ phpcms 我生成静态文件路径是/html , 但是生成的页面上的url也带着html啊,怎么能去掉这个

1 修改配置文件。找到\caches\configs\system.php 找到“html_root”这一项,然后把/html这个字符串删除。
创建或者修改栏目时,在“生成HTML设置”中,设置“是否生成到根目录”为 “是”

然后更新缓存,更新url更新栏目、更新内容页面。更新首页

阅读全文

与php生成静态html页面相关的资料

热点内容
PC机与单片机通讯 浏览:674
二级加密图 浏览:113
压缩机异音影响制冷吗 浏览:711
德斯兰压缩机 浏览:490
程序员太极拳视频 浏览:531
网上购买加密锁 浏览:825
安卓为什么软件要隐私 浏览:83
虚拟主机管理源码 浏览:811
java图形图像 浏览:230
单片机输出口电平 浏览:486
java配置数据库连接 浏览:479
java多态的体现 浏览:554
java的split分隔符 浏览:128
跪着敲代码的程序员 浏览:238
web和php有什么区别 浏览:120
加密的电梯卡怎么复制苹果手机 浏览:218
warez压缩 浏览:137
黑马程序员培训机构官网天津 浏览:904
mainjavasrc 浏览:59
如何买服务器挖矿 浏览:292