Vllt fehlte der OR Flag.
Rewritelog vllt mal testen

Code:
RewriteEngine On
RewriteLog /var/www/rewrite.log
RewriteLogLevel 5 

RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^admin/(.*).html$ admin/index.php?controller=admin_$1 [L,QSA]
RewriteRule ^feed/(.*).xml$ index.php?controller=feed_$1 [L,QSA]
RewriteRule ^page/(.*).html$ index.php?controller=page_$1 [L,QSA]
RewriteRule ^download/([0-9]+)/.*.html$ index.php?controller=page_category&category_id=$1 [L,QSA]
RewriteRule ^download/[^/]*/([0-9]+)/.*.html$ index.php?controller=page_category&subcategory_id=$1 [L,QSA]
RewriteRule ^download/[^/]*/[^/]*/([0-9]+)/.*.html$ index.php?controller=page_article&id=$1 [L,QSA]
RewriteRule ^search.html$ index.php?controller=page_category [L,QSA]
RewriteRule ^user/(.*).html$ admin/index.php?controller=admin_$1 [L,QSA]