我有以下重写条件
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
我已经阅读了 Apache mod_rewrite 手册,但是在解释上述内容时遇到了困难。
我知道条件
RewriteCond %{REQUEST_FILENAME} !-f
意味着如果请求的文件名丢失条件
RewriteCond %{REQUEST_FILENAME} !-d
表示请求的目录是否丢失。我不知道是什么
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
意思
我的理解是,如果条件被评估为真,则应用规则处理条件,但我处理条件的规则是RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
由于我还不知道第 3 点指的是什么,如果第 1 点评估为真,即如果请求文件丢失和第 2 点,即如果请求目录丢失,那么我是否正确解释RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
编辑
在进一步挖掘之后,它似乎RewriteCond %{REQUEST_FILENAME} !-f
意味着RewriteCond %{REQUEST_FILENAME} !-d
当任何不是文件或目录并且不是它们丢失的东西时。