·您当前的位置:首页 > 技术教程 > PHP教程 >

[php]php多种方法实现伪静态的介绍(3)

时间:2014-08-22 11:39酷播
? php //cuplayer.com伪静态方法四 //利用server变量取得PATH_INFO信息该例中为/1,100,8630.html也就是执行脚本名后面的部分 if(@$ path_info =$_SERVER[PATH_INFO]){ //正则匹配一下参数 if(preg_match(/\/(\d+),(

  1. <?php 
  2. //cuplayer.com伪静态方法四 
  3.  
  4. //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html   也就是执行脚本名后面的部分 
  5. if(@$path_info =$_SERVER["PATH_INFO"]){ 
  6. //正则匹配一下参数 
  7. if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){ 
  8. $gid     =intval($arr_path[1]); //取得值 1 
  9. $sid     =intval($arr_path[2]);   //取得值100 
  10. $softid   =intval($arr_path[3]);   //取得值8630 
  11. }else die("Path:Error!"); 
  12. //相当于soft.php?gid=1&sid=100&softid=8630 
  13. }else die('Path:Nothing!'); 
  14. ?> 
  1. <?php 
  2. //伪静态方法三 
  3.  
  4.  
  5. function mod_rewrite(){ 
  6. global $_GET; 
  7. $nav=$_SERVER["REQUEST_URI"]; 
  8. echo $nav."<br>"; 
  9. $script_name=$_SERVER["SCRIPT_NAME"]; 
  10. echo $script_name."<br>"; 
  11. $nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1); 
  12. echo $nav."<br>"; 
  13. $nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm 
  14. echo $nav."<br>"; 
  15. $vars = explode("/",$nav); 
  16. print_r($vars); 
  17. echo "<br>"; 
  18. for($i=0;$i<Count($vars);$i+=2){ 
  19. $_GET["$vars[$i]"]=$vars[$i+1]; 
  20. return $_GET; 
  21. mod_rewrite(); 
  22. $year=$_GET["year"];//结果为'2006' 
  23. echo $year."<br>"; 
  24. $action=$_GET["action"];//结果为'_add' 
  25. echo $action; 
  26. ?> 

如果不想使用php来实现伪静态,可是使用 apache,nginx,iis 等服务器自带的url rewrite 功能进行设置。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器