伪静态方法一:
复制代码代码如下:
//伪静态方法一
//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_UrlQueryStrListas$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]."
";
//1echo$_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;
}
?>
伪静态方法三:
复制代码代码如下:
//伪静态方法三
functionmod_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
}elsedie("Path:Error!");
//相当于soft.php?gid=1&sid=100&softid=8630
}elsedie('Path:Nothing!');
?>
您可能感兴趣的文章:PHP伪静态写法附代码PHP伪静态页面函数附使用方法不用mod_rewrite直接用php实现伪静态化页面代码基于php伪静态的实现详细介绍PHP伪静态技术原理以及突破原理实现介绍thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)php伪静态之APACHE篇php伪静态之IIS篇PHP伪静态Rewrite设置之APACHE篇Linux中为php配置伪静态PHP实现伪静态方法汇总