Роботов, принимающих в расчёт robots.txt не мало и появляются новые. Как вы им хотя бы дадите понять, что им доступ запрещён? Просто не следует помещать в robots.txt ссылки на секретные разделы сайта, — если на них нет входящих ссылок, то порядочные роботы туда не полезут и без robots.txt.
Можно попробовать по User-Agent, но его легко подделать:
# User-Agent большинства роботов содержит токен, заканчивающийся на "bot"
RewriteCond %{HTTP_USER_AGENT} !bot\b [NC]
# Дополнительно перечисляем характерные участки User-Agent, не удовлетворяющих предыдущему условию
# (список можно продолжить...)
RewriteCond %{HTTP_USER_AGENT} !\b(yahoo\.com|baidu\.com)/
## или так
#RewriteCond %{HTTP_USER_AGENT} !\b(Slurp|Baiduspider)\b
RewriteRule ^robots\.txt$ - [R=404]