php伪静态成html,php静态化页面——伪静态页面(拟静态)的几种方法

第一种伪静态页面(拟静态)的方法(针对有服务器权限的):

http.conf 里 把mod_rewrite的#去掉

htacc 把 前面的option 改为all

RewriteEngine on

RewriteRule ^/t_(.*).html$ /test.php?id=$1? 输出成html格式

RewriteRule ^/t_(.*)/$ /test.php?id=$1 输出目录格式 *localhost/t_333/*

第二种伪静态页面(拟静态)的方法(针对无服务器权限的):

在根目录建文件 .htaccess

.htaccess

RewriteEngine on

RewriteRule ^/test.html$ /test.php?id=$1?

#ErroeDocument 404 /test.php

关于规则的写法,请参考其它文档。

第三种伪静态页面(拟静态)的方法(用程序进行处理)分为四种方式:

//伪静态方法一 ?

?

//?localhost/php100/test.php?id|1@action|2 ?

$Php2Html_FileUrl?=?$_SERVER["REQUEST_URI"]; ?

echo?$Php2Html_FileUrl."
";//?/php100/test.php?id|1@action|2 ?

$Php2Html_UrlString?=?str_replace("?","",str_replace("/",?"",?strrchr(strrchr($Php2Html_FileUrl,?"/"),"?"))); ?

echo?$Php2Html_UrlString."
";//?id|1@action|2 ?

$Php2Html_UrlQueryStrList?=?explode("@",?$Php2Html_UrlString); ?

print_r($Php2Html_UrlQueryStrList);//?Array?(?[0]?=>?id|1?[1]?=>?action|2?) ?

echo?"
"; ?

foreach($Php2Html_UrlQueryStrList?as?$Php2Html_UrlQueryStr) ?

{ ?

$Php2Html_TmpArray?=?explode("|",?$Php2Html_UrlQueryStr); ?

print_r($Php2Html_TmpArray);//?Array?(?[0]?=>?id?[1]?=>?1?)?;?Array?(?[0]?=>?action?[1]?=>?2?) ?

echo?"
"; ?

$_GET[$Php2Html_TmpArray[0]]?=?$Php2Html_TmpArray[1]; ?

} ?

//echo?'假静态:$_GET变量
'; ?

print_r($_GET);?//?Array?(?[id|1@action|2]?=>?[id]?=>?1?[action]?=>?2?) ?

echo?"
"; ?

echo?"


"; ?

echo?$_GET[id]."
";//?1 ?

echo?$_GET[action];//?2 ?

?>?

//伪静态方法二 ?

?

//?localhost/php100/test.php/1/2 ?

$filename?=?basename($_SERVER['SCRIPT_NAME']); ?

echo?$_SERVER['SCRIPT_NAME']."
";//?/php100/test.php ?

echo?$filename."
";//?test.php ?

?

if(strtolower($filename)=='test.php'){ ?

?if(!empty($_GET[id])){ ?

??$id=intval($_GET[id]); ?

??echo?$id."
"; ?

??$action=intval($_GET[action]); ?

??echo?$action."
"; ?

?}else{ ?

??$nav=$_SERVER['REQUEST_URI']; ?

??echo?"1:".$nav."
";//?/php100/test.php/1/2 ?

??$script=$_SERVER['SCRIPT_NAME']; ?

??echo?"2:".$script."
";//?/php100/test.php ?

??$nav=ereg_replace("^$script","",urldecode($nav)); ?

??echo?$nav."
";?//?/1/2 ?

??$vars=explode("/",$nav); ?

??print_r($vars);//?Array?(?[0]?=>?[1]?=>?1?[2]?=>?2?) ?

??echo?"
"; ?

??$id=intval($vars[1]); ?

??$action=intval($vars[2]); ?

?} ?

?echo?$id.'&'.$action; ?

} ?

?>?

//伪静态方法三 ?

?

?

function?mod_rewrite(){ ?

global?$_GET; ?

$nav=$_SERVER["REQUEST_URI"]; ?

echo?$nav."
"; ?

$script_name=$_SERVER["SCRIPT_NAME"]; ?

echo?$script_name."
"; ?

$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1); ?

echo?$nav."
"; ?

$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm ?

echo?$nav."
"; ?

$vars?=?explode("/",$nav); ?

print_r($vars); ?

echo?"
"; ?

for($i=0;$i

$_GET["$vars[$i]"]=$vars[$i+1]; ?

} ?

return?$_GET; ?

} ?

mod_rewrite(); ?

$year=$_GET["year"];//结果为'2006' ?

echo?$year."
"; ?

$action=$_GET["action"];//结果为'_add' ?

echo?$action; ?

?>?

//伪静态方法四 ?

?

//利用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?

}else?die('Path:Nothing!'); ?

?>?

以上就是本文介绍的几种PHP伪静态的方法,希望对大家有所帮助。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: php静态化页面——伪静态页面(拟静态)的几种方法 http://www.chhua.com/web-note372

相关笔记

更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值