RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|png)$ - маска файлов
RewriteCond %{REQUEST_FILENAME} -f без маски это просто файл
RewriteCond %{REQUEST_FILENAME} robots.txt$ -конкретный файл
Ваше правило
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{REQUEST_FILENAME} file.rar$
RewriteRule ^/(.+\..+)$ /disk/$1? [L,R=301]
или
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^/(.+\..+)$ /disk/$1? [L,R=301]
и тому подобное
Дайте больше вариантов сделюем покрасивее регулярку, только ли в корне файлы, любые ли файлы нужно пенераправлять на диск, а что со вложенными в другие директории и тд.
PS
^/(.+\..+)$ /disk/$1?
^ начало строки
*(....) - то что станет потом первой группой $1
.+ - то же самое что и .* толко не от 0 символов а от 1
\экранирование символа ( то есть сам символ а не то что он означает в регулярке.
? в конце - удалит гет параметры если они есть.