>[info]作者 : fankey <6424051@qq.com>
>时间 : 2015-09-18
>### 1. Apache RewriteCond的应用
>RewriteCond 作用类似于程序中的if语句一样,如果符合某个或者几个条件则执行RewriteCond下面紧邻的RewriteRule,不满足条件则不执行。
例1 : 通过访问文件存在,则直接访问文件,如果访问文件不存在,则跳转到 no_page.html
<br>
.htaccess 文件中代码如下:
>[success]`<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ no_page.html
</IfModule>`
<br>
![document/2015-09-18/55fb5d6d16703](https://box.kancloud.cn/document_2015-09-18_55fb5d6d16703.png)
<br>
<br>
![document/2015-09-18/55fb5dcbadb3a](https://box.kancloud.cn/document_2015-09-18_55fb5dcbadb3a.png)
> RewriteCond %{REQUEST_FILENAME} !-f => 检测当前请求访问的文件是否存在如果存在则访问文件,如果不存在则
执行 RewriteRule ^(.*)$ no_page.html => 跳转到 no_page.html
下面列举几个常用的RewriteCond写法
>[info]检测访问目录是否存在:<br>
RewriteCond %{REQUEST_FILENAME} !-d <br>
//#如果目录存在就直接访问目录不进行RewriteRule
<br>
>[danger]检测请求文件的后缀名是否是 .css或.js 等:<br>
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$ <br>
//#如果是这些后缀的文件,就直接访问文件,不进行RewriteRule