比如,下面,我要实现这样的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文件  
复制代码 代码如下:
<?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,在这个程序内,你就可以根据参数,进行处理,如查询数据库啦、做运算啦等,然后再显示相应的数据出来,就可以了。
实现方法2 
复制代码 代码如下:
<?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);     
?>   
标签:
ReWrite,学习笔记

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“ReWrite学习笔记小结”
暂无“ReWrite学习笔记小结”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。