鉴于以下条件和规则,mod_rewrite 如何验证请求是文件还是目录?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
我的解释是,如果请求不是文件而不是目录,则处理具有模式的重写规则任何不是问号的字符,用反向引用替换为查询字符串$1
不是每个请求都是一个文件或目录,例如 index.php、style.css、media 等吗?条件不应该是
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
如果请求是文件或目录,则会读取,然后处理重写规则