/ author / Jim + Jones / 28 не должны попадаться ни одним из них, поскольку ни одно из ваших правил не перехватывает URL-адреса, начинающиеся с /, а символ ^ в начале вашего регулярного выражения явно указывает, что для первого правила он должен начните с 'author /' (примечание нет / в начале).
UPDATE:
Я думаю, что происходит, что запросы вроде myblog.com/author/Jim+Jones/28 переписываются дважды. Сначала по первому правилу, а затем по второму. Если это так, вам нужно сделать второе правило более ограничительным. Не позволяйте ему переписывать запросы, например, с author.php.
ОБНОВЛЕНИЕ 2:
Хорошо, так что, вероятно, было бы лучше всего в вашем случае добавить условие для второго предложения:
RewriteEngine on
RewriteBase /myblog.com/
RewriteRule ^author/([^/]*)/?([^/]*)/?$ blog/author.php?author=$1&contactid=$2 [L]
RewriteCond %{THE_REQUEST} !(author\.php)
RewriteRule ^blog/([^/]*[^/index.php])/?([^/]*)/?([^/]*)/?$ blog/index.php?blog=$1&category=$2&article=$3 [L]