最近遇到一个问题,PHP + Apache 环境,使用下面的 .htaccess,访问 /Public/Home/css/style.css 时,如果这个文件不存在,这个请求会让 PHP 来处理,这是我不想要的,因为 /Public/ 这个目录我放了静态文件,无论何时都不需要 PHP,重写时如何排除掉?
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]
</IfModule>
我看了会文档 mod_rewrite - Apache HTTP Server Version 2.4 上面的规则看明白了,上面两个 RewriteCond 是 下面一个 RewriteRule 的前提:不匹配已经存在的文件或者目录时生效。但是怎么排除 /Public/ 呢?