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] 相当于link
[R]相当与redirect
[NC]不区分大小写。
本文深入解析了RewriteCond指令在Apache服务器重定向中的应用,包括其如何判断请求文件是否存在或是否为特定后缀的文件,并决定是否执行重定向规则。详细解释了RewriteCond %{{REQUEST_FILENAME}

被折叠的 条评论
为什么被折叠?



