apache伪静态RewriteCond %{REQUEST_FILENAME}参数含义

2015年12月16日00:37:06 发表评论 5,974 ℃

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]不区分大小写。

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: