当前位置: 首页 > 图文教程 > 服务器 > Windows服务器 > ReWrite学习笔记小结

Windows服务器
win2003系统自动登录两法
Win2003安装后的十个小技巧
Windows2003常见问题解决办法
Windows2003慎装主板驱动
轻松清除Windows2003故障
轻松提高Win2003的运行速度
轻松改变Win2003登录方式
Windows2003常见故障诊断
Windows2003实用使用技巧七则
驯服你的WindowsServer2003
在Win2003中安全的释放内存
清除故障,Windows2003更加亲切
Windows 2003系统远程桌面管理小窍门
让Windows 2003也用上系统还原
Windows 2003系统25招加速大法
破解Win 2003终端服务许可证
Windows2003校园Web服务器常见问题
提升微软Win2003的视频功能
解决珊瑚虫QQ不能在Win2003运行的问题
Windows 2003中如何安全的释放内存

Windows服务器 中的 ReWrite学习笔记小结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 47 ::
收藏到网摘: n/a

首先,你的空间得支持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文件
复制代码 代码如下:

<?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);
?>