[php]php多种方法实现伪静态的介绍(3)
? php //cuplayer.com伪静态方法四 //利用server变量取得PATH_INFO信息该例中为/1,100,8630.html也就是执行脚本名后面的部分 if(@$ path_info =$_SERVER[PATH_INFO]){ //正则匹配一下参数 if(preg_match(/\/(\d+),(
- <?php
- //cuplayer.com伪静态方法四
- //利用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
- //伪静态方法三
- function mod_rewrite(){
- global $_GET;
- $nav=$_SERVER["REQUEST_URI"];
- echo $nav."<br>";
- $script_name=$_SERVER["SCRIPT_NAME"];
- echo $script_name."<br>";
- $nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
- echo $nav."<br>";
- $nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
- echo $nav."<br>";
- $vars = explode("/",$nav);
- print_r($vars);
- echo "<br>";
- for($i=0;$i<Count($vars);$i+=2){
- $_GET["$vars[$i]"]=$vars[$i+1];
- }
- return $_GET;
- }
- mod_rewrite();
- $year=$_GET["year"];//结果为'2006'
- echo $year."<br>";
- $action=$_GET["action"];//结果为'_add'
- echo $action;
- ?>
如果不想使用php来实现伪静态,可是使用 apache,nginx,iis 等服务器自带的url rewrite 功能进行设置。
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码
请稍候...