WordPress中以及很多php程序都会使用htaccess来控制静态化,以及一些特殊参数。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?id=$1
</IfModule>
很多人问过RewriteCond %{REQUEST_FILENAME} 是什么意思
RewriteCond %{REQUEST_FILENAME} !-f
代表的意思就是
如果文件存在,就直接访问文件,不进行下面的RewriteRule.
RewriteCond %{REQUEST_FILENAME} !-d#如果目录存在就直接访问目录不进行RewriteRule
同理:
RewriteCond %{REQUEST_URI} !^.*(.css|.js|.gif|.png|.jpg|.jpeg)$ #如果是这些后缀的文件,就直接访问文件,不进行Rewrite
其中,
%{REQUEST_FILENAME}表示请求的文件名
!-f不是一个文件
!-d不是一个目录
[L] 这是最后一个匹配项,不再往下匹配
[R]相当与redirect [NC]不区分大小写。
原文地址:
http://www.vicenteforever.com/2013/09/apache-rewritecond-request_filename/