源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ReWrite学习笔记小结

  • 时间:2020-11-17 11:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ReWrite学习笔记小结
比如,下面,我要实现这样的URL:  http://xxx.com/0725  http://xxx.com/0726  http://xxx.com/0727  …  上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样。这样看起来就很美观、整齐了。要不然,可能的地址就是:  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  …  现在我就是要实现把 index.php?today= 隐藏掉。以下是代码:  1..htaccess 文件  <IfModule mod_rewrite.c>    RewriteEngine On    RewriteBase /    RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond   %{REQUEST_FILENAME} !-d    RewriteRule ^([0-9]+)$   /index.php?today=$1    </IfModule>  粗体字这里我说明一下,其它的按这个格式吧,具体我现在也不理解。  [0-9]的意思是,参数只能是0~9这些数字,如果你要包含任何字符,就改为: RewriteRule ^(.+)$ /index.php?today=$1    这里[0-9]改为了. ,这个.就代表任意字符。当然复杂的还很复杂,我们暂时不管。  2.index.php文件  
[u]复制代码[/u] 代码如下:
<?php       //rewrite 测试       $uid =$_REQUEST['today'];       ?>       <HTML>       <HEAD>       <TITLE>rewrite 测试</TITLE>       </HEAD>       <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">       今天是<?php echo $today;?>,看看历史上的今天都发生了什么事情?<br>       ……       </BODY>       </HTML>    
这里参数就会传递给index.php文件里的$today,在这个程序内,你就可以根据参数,进行处理,如查询数据库啦、做运算啦等,然后再显示相应的数据出来,就可以了。 [b]实现方法2[/b] 
[u]复制代码[/u] 代码如下:
<?php      //url示例:soft.php/1,100,8630.html      //利用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              //相当于soft.php?gid=1&sid=100&softid=8630          }else die("Path:Error!");      }else die("Path:Nothing!");      echo($gid);      echo("<br>");      echo($sid);      echo("<br>");      echo($softid);      ?>   
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部