RewriteEngine on
RewriteBase /newadmin/
RewriteCond $1 !^(static|upload|index\.php)
RewriteRule ([^/]+)(.*)$ /newadmin/index.php?%{QUERY_STRING} [L]
1.RewriteBase要写准确
这将影响 所有的Cond 以及 Rule的前部
注意,与Rule的后部无关
2.Wamp 2.0以上版本(不包括 2.0) 中所包含的Apache 的Rule的前部 . 将不再匹配\
3.PHP程序中,应检查 $_SERVER['REQUEST_URI'] 以及 $_SERVER['QUERY_STRING'] (这两个参数在Apache与Nginx中通用) (所说IIS中不好用,但是我们放弃IIS吧)
4.实例:
我希望以下形式的URL
能够解析成 c=home a=test page=2 id=3 no=45 的GET参数
经过以上处理后 URI为 /newadmin/home/test/page/2/index.php?id=3&no=45
去除 与 QUERY_STRING 重复的部分,再去除可能的?
再去除 首尾 / ,再Split,
第0个固定赋给C
第1个固定赋给A
之后一对一对处理.
实践后,会产生一个空的键 'index.php'=>'' 好吧,扔那吧,不用管了.
以上方法也可处理
/newadmin/home/test/page/2/?id=3&no=45
或
/newadmin/home/test/page/2?id=3&no=45
类似的地址 .
5.以上是二级目录的处理方法,可参考解决三级或其它级目录的重写问题
阅读(622) | 评论(0) | 转发(0) |