Ответ 1
Вы должны правильно проверить, если запрос uri соответствует подпапке
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/subfolder
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
В любом случае первые две записи rewritecond означают: если имя файла запроса не является файлом или каталогом. Это означает, что если файл, на который вы ссылаетесь, находится в подпапке, а подпапка находится в вашем docroot, вам ничего не нужно делать.
Если все еще не будет работать, включение журнала может помочь вам:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
избежать этого журнала в процессе производства
Использование большого значения для уровня значительно замедлит ваш сервер Apache! Используйте файл журнала перезаписи на уровне выше 2 только для отладки!