RewriteCond 中的 cond 是conditional条件的缩写,也就是在某些情况下是、在某些情况下否。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^wap.phpff.com [NC]
RewriteRule ^$ /wap.php/wap/index [L]
RewriteRule ^(.*)$ /wap.php/wap/$1 [L,QSA]
解释
1.在RewriteCond命令中使用%{HTTP_HOST}获取环境变量的值,也就是域名信息,如果是wap.phpff.com 这个域名,往下执行RewriteRule规则。
2.如果url是http://wap.phpff.com这样的网址,则重写到/wap.php/wap/index这个url。
3.如果url是http://wap.phpff.com/about这样的网址,则重写到/wap.php/wap/index这个url。
规则参数解释
[NC] —— No Case(不区分大小写): 对客户端请求的URL不区分大小写。它使Pattern忽略大小写,也就是在Pattern与当前URL匹配时,”A-Z”和”a-z”没有区别
[L] —— Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL。立即停止重写操作,并不再应用其他重写规则。它对应于Perl中的last命令或C语言中的break命令。这个标记用于阻止当前已被重写的URL被后继规则再次重写。例如,使用它可以重写根路径的URL(“/”)为实际存在的URL(比如:”/e/www/”)。
[QSA] —— Append Query String(追加查询字符串): 命令服务器在URL末尾追加查询字符串,以维护GET的URL参数.