RewriteCond就像我们先后中的if语句相近

RewriteCond就如大家先后中的if语句同样,表示只要相符有个别或某多少个原则则实行RewriteCond上面南临的RewriteRule语句,那就是RewriteCond最原始、根底的固守,为了便利清楚,下边来造访多少个例证。
复制代码 代码如下:
RewriteEngine on
RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla//5/.0.*
RewriteRule  index.php            index.m.php
RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
RewriteRule  index.php            index.L.php
RewriteRule  index.php            index.b.php

上面语句的成效是当您是用FF浏览器访谈index.php那么些文件的时候,会自行令你拜望到index.m.php那些文件,当您是用某个活动终端访谈的
时候,会让您对index.php这些文件的拜谒实际访谈的是index.L.php去,假令你是用别样的浏览器访谈的时候,会让您跳到
index.b.php。在说形象一点,上面包车型地铁讲话就同样程序里面包车型大巴下边语句(依PHP语句为例卡塔尔(قطر‎: 复制代码 代码如下:
if($_SERVER[‘HTTP_USER_AGENT’] == ‘Mozilla/5.0’)
{
//跳转到对index.m.php的访谈
}
else if($_SERVER[‘HTTP_USER_AGENT’] == ‘Lynx’)
{
//跳转到对index.L.php的探问
}
else
//跳转到对index.b.php的访问

在看例2: RewriteCond %{HTTP_REFERER} (www.test.cn)
RewriteRule (.*)$ test.php
上面语句的意义是如果您探问的上三个页面包车型的士主机地址是www.test.cn,则无论你眼下作客的是哪些页面,都会跳转到对test.php的拜见。
在看例三: 复制代码 代码如下:
RewriteCond %{REMOTE_HOST} ^host1.* [OR]
RewriteCond %{REMOTE_HOST} ^host2.* [OR]
RewriteCond %{REMOTE_HOST} ^host3.*
RewriteRule (.*)$ test.php

地方语句的效果是借使您的地址是host1或host2或host3的时候,则就跳到对test.php。自此处能够观察,RewriteCond语句之间暗中同意的是AND,若是想要OGL450,则要简明的写出来。
下边是协和珍藏的有个别平价的重写准则: RewriteCond %{REQUEST_FILENAME} !-f  
//假设文件存在,就直接访谈文件,不举行下边包车型大巴RewriteRule.(不是文件或文件不设有就实行重写卡塔尔(قطر‎
RewriteCond %{REQUEST_FILENAME} !-d  
//#假若目录存在就一直访谈目录不开展RewriteRule
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$
//#要是是那一个后缀的文本,就直接访谈文件,不开展Rewrite

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website