如题所述
PHP伪éæåæ³ï¼ï¼å
¶ä¸
伪éæååï¼URLéå
主è¦æ¯ä¸ºäºSEOèççãï¼SEOæ¯ä»ä¹ï¼è¿ä¸ªä¸ç¨é®æå§ãåµåµï½æç½ç»çä¸æSEOé£å°±ï½ï½ï½ï½ï¼
æ¹æ³ä¸:
æ¯å¦è¿ä¸ªç½é¡µ
http://www.2cto.com /soft.php/1,100,8630.html
å ¶å®å¤ççèæ¬æ¯soft.php åæ°ä¸º1,100,8630
ç¸å½äºsoft.php?a=1&b=1=100&c=8630 åªä¸è¿è¿æ ·çURL太é¾è®°ãæç´¢å¼æä¹ä¸å欢ã
çéæåªæ¯å®å ¨çæäºHTMLã
客æ·ç«¯è®¿é®çæ¶åç´æ¥è¾åºãä¸ç¨èæ¬è§£éãå¨æµéé常大çæ¶åï¼æ¯å¦æ¯å¤©æä¸ç¾ä¸ç访é®éçæ¶åï¼ä¼èµ·å°å¾å¥½çææãä¹å°±æ¯è¯´æå¡å¨ç«¯å®å®å¨å¨çåå¨è¿ä¸ªHTML页é¢ã
å½ç¶å¨ä½ ç½ç«çæµé没æé£ä¹å¤§çæ¶åãURLéåæ¯æ好çæ¹æ³ï¼ä¸ªäººè§ç¹ï¼å¤§æµéçæ¶åå¯ä»¥èèè´è½½åè¡¡äºãåæ ·æ²¡æå ³ç³»ï¼
éURLéåçæ¹æ³æå¾å¤ç§ï¼APACHEï¼IISREWRITEãçè³PHPèæ¬é½å¯ä»¥ç´æ¥å¤çãæ¯å¦ä¸ä¾ä¸å°±æ¯PHPèæ¬ç´æ¥å¤ç(该æ¹æ³å¥½å¤æ¯å¤§æµéçæ¶åç´æ¥åè½»WEB伺æå¨çååãPS:åæ ·ä¹æ¯ä¸ªäººè§ç¹ï¼
================================================
ä¸é¢ä»¥ç¨åºä¸ºä¾è®²ä¸ä¸PHP伪éæçç¨åºå®ç°æ¹æ³ï¼å ¶å®è¿æ¹æ³æä¹åå·²ç»æå¨å ¶å®è®ºå社åºåè¿
ç¨åºä¸ºä¾ï¼
http://www.2cto.com /soft.php/1,100,8630.html
CODE:
//å©ç¨serveråé åå¾PATH_INFOä¿¡æ¯ è¯¥ä¾ä¸ä¸º /1,100,8630.html ä¹å°±æ¯æ§è¡èæ¬ååé¢çé¨å
if(@$path_info =$_SERVER["PATH_INFO"]){
//æ£åå¹é ä¸ä¸åæ°
if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //åå¾å¼ 1
$sid =intval($arr_path[2]); //åå¾å¼100
$softid =intval($arr_path[3]); //åå¾å¼8630
}else die("Path:Error!");
//ç¸å½äºsoft.php?gid=1&sid=100&softid=8630
//å°±æ¯è¿ä¹ç®åäºãï½ï¼
æ¹æ³äº:
ä¸ æå¼ Apache çé ç½®æ件 httpd.conf ã
äº å°#LoadModule rewrite_module modules/mod_rewriteåé¢ç#å»æ
ä¸ å¨ httpd.confä¸æ·»å ï¼
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2
</IfModule>
å è¦å®ç°aspå¸åURLå°phpå¸åçæ å°ï¼å¨ 第ä¸æ¥ç<IfModule mod_rewrite.c>å</IfModule>ä¹é´æ·»å ï¼
RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1
äº ä¿åhttpd.conf并éå¯Apache
æ¹æ³ä¸:
<?php
/*
åè½ï¼PHP伪éæå页é¢çå®ç°
å ·ä½ç¨æ³:
ä¾å¦é¾æ¥ä¸º:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//è¿å¥æ¯å»æå°¾é¨ç.htmlæ.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
echo $yearn;
echo $action;
?>
<?php
/*
åè½ï¼PHP伪éæå页é¢çå®ç°
å ·ä½ç¨æ³:
ä¾å¦é¾æ¥ä¸º:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//è¿å¥æ¯å»æå°¾é¨ç.htmlæ.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
echo $yearn;
echo $action;
?>
伪éæååï¼URLéå
主è¦æ¯ä¸ºäºSEOèççãï¼SEOæ¯ä»ä¹ï¼è¿ä¸ªä¸ç¨é®æå§ãåµåµï½æç½ç»çä¸æSEOé£å°±ï½ï½ï½ï½ï¼
æ¹æ³ä¸:
æ¯å¦è¿ä¸ªç½é¡µ
http://www.2cto.com /soft.php/1,100,8630.html
å ¶å®å¤ççèæ¬æ¯soft.php åæ°ä¸º1,100,8630
ç¸å½äºsoft.php?a=1&b=1=100&c=8630 åªä¸è¿è¿æ ·çURL太é¾è®°ãæç´¢å¼æä¹ä¸å欢ã
çéæåªæ¯å®å ¨çæäºHTMLã
客æ·ç«¯è®¿é®çæ¶åç´æ¥è¾åºãä¸ç¨èæ¬è§£éãå¨æµéé常大çæ¶åï¼æ¯å¦æ¯å¤©æä¸ç¾ä¸ç访é®éçæ¶åï¼ä¼èµ·å°å¾å¥½çææãä¹å°±æ¯è¯´æå¡å¨ç«¯å®å®å¨å¨çåå¨è¿ä¸ªHTML页é¢ã
å½ç¶å¨ä½ ç½ç«çæµé没æé£ä¹å¤§çæ¶åãURLéåæ¯æ好çæ¹æ³ï¼ä¸ªäººè§ç¹ï¼å¤§æµéçæ¶åå¯ä»¥èèè´è½½åè¡¡äºãåæ ·æ²¡æå ³ç³»ï¼
éURLéåçæ¹æ³æå¾å¤ç§ï¼APACHEï¼IISREWRITEãçè³PHPèæ¬é½å¯ä»¥ç´æ¥å¤çãæ¯å¦ä¸ä¾ä¸å°±æ¯PHPèæ¬ç´æ¥å¤ç(该æ¹æ³å¥½å¤æ¯å¤§æµéçæ¶åç´æ¥åè½»WEB伺æå¨çååãPS:åæ ·ä¹æ¯ä¸ªäººè§ç¹ï¼
================================================
ä¸é¢ä»¥ç¨åºä¸ºä¾è®²ä¸ä¸PHP伪éæçç¨åºå®ç°æ¹æ³ï¼å ¶å®è¿æ¹æ³æä¹åå·²ç»æå¨å ¶å®è®ºå社åºåè¿
ç¨åºä¸ºä¾ï¼
http://www.2cto.com /soft.php/1,100,8630.html
CODE:
//å©ç¨serveråé åå¾PATH_INFOä¿¡æ¯ è¯¥ä¾ä¸ä¸º /1,100,8630.html ä¹å°±æ¯æ§è¡èæ¬ååé¢çé¨å
if(@$path_info =$_SERVER["PATH_INFO"]){
//æ£åå¹é ä¸ä¸åæ°
if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //åå¾å¼ 1
$sid =intval($arr_path[2]); //åå¾å¼100
$softid =intval($arr_path[3]); //åå¾å¼8630
}else die("Path:Error!");
//ç¸å½äºsoft.php?gid=1&sid=100&softid=8630
//å°±æ¯è¿ä¹ç®åäºãï½ï¼
æ¹æ³äº:
ä¸ æå¼ Apache çé ç½®æ件 httpd.conf ã
äº å°#LoadModule rewrite_module modules/mod_rewriteåé¢ç#å»æ
ä¸ å¨ httpd.confä¸æ·»å ï¼
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2
</IfModule>
å è¦å®ç°aspå¸åURLå°phpå¸åçæ å°ï¼å¨ 第ä¸æ¥ç<IfModule mod_rewrite.c>å</IfModule>ä¹é´æ·»å ï¼
RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1
äº ä¿åhttpd.conf并éå¯Apache
æ¹æ³ä¸:
<?php
/*
åè½ï¼PHP伪éæå页é¢çå®ç°
å ·ä½ç¨æ³:
ä¾å¦é¾æ¥ä¸º:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//è¿å¥æ¯å»æå°¾é¨ç.htmlæ.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
echo $yearn;
echo $action;
?>
<?php
/*
åè½ï¼PHP伪éæå页é¢çå®ç°
å ·ä½ç¨æ³:
ä¾å¦é¾æ¥ä¸º:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//è¿å¥æ¯å»æå°¾é¨ç.htmlæ.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//ç»æ为'2006'
$action=$_GET["action"];//ç»æ为'_add'
echo $yearn;
echo $action;
?>
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-09-14
PHP实现伪静态化页面方法一:
在你的程序初始化时使用如下代码:
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假静态:$_GET变量<br />';
print_r($_GET);
?>
然后php中调用$_GET变量就像平常一样了。
连接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234¶m2=4321一样。
PHP实现伪静态化页面方法二:通过URL Rewrite实现链接静态化
我们知道搜索引擎对于静态页面是非常友好的,因此很多网站通过生成静态页面等手段方便爬虫抓取自己网站的内容。但是有时候一些应用并不适合全部静态化,比如数据变化非常大的论坛/贴吧系统,这时候我们可以通过URL重写来实现链接的伪静态化,即网站对外使用静态化的链接,而内部实际上仍然使用动态页面的 URL形式。比如像这样一个链接:,我们可以改写成的形式。这是搜索引擎优化最重要的内容之一,它还有一个额外的好处,可以使页面有一个永久链接,即便以后网站系统内部链接有变化,通过适当改变Rewrite规则就可以保证原先的外部URL一直有效。
下面介绍2种简单的Apache+PHP下实现URL重写的方法,第一种适合有服务器配置权限的用户,第二种适合租用空间的用户,也作为我近期的学习心得的整理。
1、对于有服务器配置权限的用户,推荐使用Apache的mod_rewrite模块,这里假设已经安装好mod_rewrite模块。打开Apache的配置文件,找到相应主机的部分,添加以下代码:
RewriteEngine On
RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2
然后在shell里执行service httpd reload,让Apache重新载入配置就好了。现在在PHP页面里面我们可以把链接写成 abc/a/1.html的形式,Apache在解析这个 URL的时候会rewrite成abc.php?action=a&id=1的形式,并返回正确的页面。运用正则表达式我们可以实现几乎任何我们想要的链接形式,mod_rewrite模块的功能异常强大,这里只是一个及其简单的应用。
2、对于租用空间的用户,一般都没有办法修改Apache的配置,这里有个变通的方法,原理是这样的:当要传递参数访问PHP 页面时,正常情况下是通过自动全局变量$_GET来获得,比如上面的链接,在页面里可以通过$_GET['action'] 和 $_GET['id'] 来获得,重写URL后就不行了。现在在每个页面里require一个url_rewrite.php文件,里面代码如下:
$filename = basename($_SERVER['SCRIPT_NAME']);
if (strtolower($filename) == "abc.php"){
if (!empty($_GET[id])){
$id = intval($_GET[id]);
$action = intval($_GET[action]);
}
else {
$nav = $_SERVER["REQUEST_URI"];
$script = $_SERVER["SCRIPT_NAME"];
$nav = ereg_replace("^$script", "", urldecode($nav));
$vars = explode("/", $nav);
$action = intval($vars[1]);
$id = intval($vars[2]);
}
}
这样$action和$id也得到了,页面里链接可以写成abc.php/a/1的形式来访问相应页面。
需要注意的是这种PHP实现伪静态化页面方法效率较第一种低,第一种方法是在WEB服务器URL解析过程中实现的,而这里是在PHP页面解析过程里实现的,第2种方法只是变通,不得已而为之,要修改链接形式很不方便也不灵活。
在你的程序初始化时使用如下代码:
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假静态:$_GET变量<br />';
print_r($_GET);
?>
然后php中调用$_GET变量就像平常一样了。
连接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234¶m2=4321一样。
PHP实现伪静态化页面方法二:通过URL Rewrite实现链接静态化
我们知道搜索引擎对于静态页面是非常友好的,因此很多网站通过生成静态页面等手段方便爬虫抓取自己网站的内容。但是有时候一些应用并不适合全部静态化,比如数据变化非常大的论坛/贴吧系统,这时候我们可以通过URL重写来实现链接的伪静态化,即网站对外使用静态化的链接,而内部实际上仍然使用动态页面的 URL形式。比如像这样一个链接:,我们可以改写成的形式。这是搜索引擎优化最重要的内容之一,它还有一个额外的好处,可以使页面有一个永久链接,即便以后网站系统内部链接有变化,通过适当改变Rewrite规则就可以保证原先的外部URL一直有效。
下面介绍2种简单的Apache+PHP下实现URL重写的方法,第一种适合有服务器配置权限的用户,第二种适合租用空间的用户,也作为我近期的学习心得的整理。
1、对于有服务器配置权限的用户,推荐使用Apache的mod_rewrite模块,这里假设已经安装好mod_rewrite模块。打开Apache的配置文件,找到相应主机的部分,添加以下代码:
RewriteEngine On
RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2
然后在shell里执行service httpd reload,让Apache重新载入配置就好了。现在在PHP页面里面我们可以把链接写成 abc/a/1.html的形式,Apache在解析这个 URL的时候会rewrite成abc.php?action=a&id=1的形式,并返回正确的页面。运用正则表达式我们可以实现几乎任何我们想要的链接形式,mod_rewrite模块的功能异常强大,这里只是一个及其简单的应用。
2、对于租用空间的用户,一般都没有办法修改Apache的配置,这里有个变通的方法,原理是这样的:当要传递参数访问PHP 页面时,正常情况下是通过自动全局变量$_GET来获得,比如上面的链接,在页面里可以通过$_GET['action'] 和 $_GET['id'] 来获得,重写URL后就不行了。现在在每个页面里require一个url_rewrite.php文件,里面代码如下:
$filename = basename($_SERVER['SCRIPT_NAME']);
if (strtolower($filename) == "abc.php"){
if (!empty($_GET[id])){
$id = intval($_GET[id]);
$action = intval($_GET[action]);
}
else {
$nav = $_SERVER["REQUEST_URI"];
$script = $_SERVER["SCRIPT_NAME"];
$nav = ereg_replace("^$script", "", urldecode($nav));
$vars = explode("/", $nav);
$action = intval($vars[1]);
$id = intval($vars[2]);
}
}
这样$action和$id也得到了,页面里链接可以写成abc.php/a/1的形式来访问相应页面。
需要注意的是这种PHP实现伪静态化页面方法效率较第一种低,第一种方法是在WEB服务器URL解析过程中实现的,而这里是在PHP页面解析过程里实现的,第2种方法只是变通,不得已而为之,要修改链接形式很不方便也不灵活。
第2个回答 推荐于2016-08-09
这里是jetee.cn中静态化会员列表部分,根据这部分代码,可以理解静态化的一些概念。
静态化函数部分
/**
* @get list member item 获得静态化模板中要替换变量的内容。
* @param str: To replace the string
* @return string
*/
function get_staticize_replace_str()
{
$replace_str=""; //replace string
$query="select member_id,email_name from member";
$result=Mysql::query($query);
while($row=Mysql::fetch_assoc($result))
{
$replace_str.="<li>".$row["member_id"]."</li>";
$replace_str.="<li>".$row["email_name"]."</li><br>";
}
return $replace_str;
}
/**
* @替换静态化模板中的变量生成静态化页面。
* @
* @return void
*/
function staticize_list_member()
{
$replace_str=$this->get_staticize_replace_str();
$templet=fopen(TENDAO_DIR."/templets/default/list_member.html","r");
$new_file=fopen(TENDAO_DIR."/member/list_member.html","w");
while(!feof($templet))
{
$ripe=fgets($templet);
$ripe=str_replace("{member_items}",$replace_str,$ripe);
fwrite($new_file,$ripe);
}
if (file_exists(TENDAO_DIR."/member/list_member.html")) {
Msg("静态化会员列表成功!返回主页中……",TENDAO_ROOT,0,3000);
exit();
} else {
Msg("静态化会员列表没有成功!返回主页中……",TENDAO_ROOT,0,3000);
}
fclose($templet);
fclose($new_file);
}
/**
* @静态化模板
* @
* @return void
*/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>会员列表</title>
<style type="text/css">
body{width:980px; margin:0 auto;}
ul{list-style:none; margin:0 auto;}
.member_list .member_header{ width:400px; height:20px;border-left:1px solid #b9df92;border-top:1px solid #b9df92;border-right:1px solid #f73442;background-color:#f73442;
}
.member_list .member_item{width:400px; border-left:1px solid #aaaaaa;border-top:0;border-right:0;border-bottom:1px solid #aaaaaa;background-color:#efefef;}
.member_list li{
display:block;
width:199px;
height:18px;
float:left;
overflow:hidden;
border-right:1px solid #888888;
}
.clear_float{ clear:left;}
</style>
</head>
<body>
<div class="member_list">
<ul class="member_header">
<li>member_id</li>
<li>email_name</li>
</ul>
<ul class="member_item">
<!-- style like
<li>{member_id}</li>
<li>{email_name}</li>
<li>{member_id}</li>
<li>{email_name}</li>
<li>{member_id}</li>
<li>{email_name}</li>
-->{member_items}
</ul>
</div>
</body>
</html>
静态化函数部分
/**
* @get list member item 获得静态化模板中要替换变量的内容。
* @param str: To replace the string
* @return string
*/
function get_staticize_replace_str()
{
$replace_str=""; //replace string
$query="select member_id,email_name from member";
$result=Mysql::query($query);
while($row=Mysql::fetch_assoc($result))
{
$replace_str.="<li>".$row["member_id"]."</li>";
$replace_str.="<li>".$row["email_name"]."</li><br>";
}
return $replace_str;
}
/**
* @替换静态化模板中的变量生成静态化页面。
* @
* @return void
*/
function staticize_list_member()
{
$replace_str=$this->get_staticize_replace_str();
$templet=fopen(TENDAO_DIR."/templets/default/list_member.html","r");
$new_file=fopen(TENDAO_DIR."/member/list_member.html","w");
while(!feof($templet))
{
$ripe=fgets($templet);
$ripe=str_replace("{member_items}",$replace_str,$ripe);
fwrite($new_file,$ripe);
}
if (file_exists(TENDAO_DIR."/member/list_member.html")) {
Msg("静态化会员列表成功!返回主页中……",TENDAO_ROOT,0,3000);
exit();
} else {
Msg("静态化会员列表没有成功!返回主页中……",TENDAO_ROOT,0,3000);
}
fclose($templet);
fclose($new_file);
}
/**
* @静态化模板
* @
* @return void
*/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>会员列表</title>
<style type="text/css">
body{width:980px; margin:0 auto;}
ul{list-style:none; margin:0 auto;}
.member_list .member_header{ width:400px; height:20px;border-left:1px solid #b9df92;border-top:1px solid #b9df92;border-right:1px solid #f73442;background-color:#f73442;
}
.member_list .member_item{width:400px; border-left:1px solid #aaaaaa;border-top:0;border-right:0;border-bottom:1px solid #aaaaaa;background-color:#efefef;}
.member_list li{
display:block;
width:199px;
height:18px;
float:left;
overflow:hidden;
border-right:1px solid #888888;
}
.clear_float{ clear:left;}
</style>
</head>
<body>
<div class="member_list">
<ul class="member_header">
<li>member_id</li>
<li>email_name</li>
</ul>
<ul class="member_item">
<!-- style like
<li>{member_id}</li>
<li>{email_name}</li>
<li>{member_id}</li>
<li>{email_name}</li>
<li>{member_id}</li>
<li>{email_name}</li>
-->{member_items}
</ul>
</div>
</body>
</html>
参考资料:
本回答被提问者采纳第3个回答 2015-05-31
PHP静态化页面的话,可以用file_put_contents() 函数生成静态的html页面,伪静态的话,这个已经不属于PHP的范围了,这个是对服务器进行配置。
第4个回答 2009-04-17
用smarty在显示之前fetch的结果保存到文件中即可。