В вашей конфигурации вы ссылаетесь в одном правиле на foo
, в другом - на /bar
, одно из них никогда не будет совпадать.
Либо выберите:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(xi-admin|xi-admin/.*)$
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Или другой вариант, использующий относительную адресацию, который я бы порекомендовал, потому что он работает, даже если этот каталог впоследствии будет перемещен в другое место в иерархии каталогов:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(xi-admin|xi-admin/.*)$
RewriteCond $1 !=favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]