Na configuração do domaina:
#redirect everything under dir to the same location under domainb.com/diff_dir
RewriteRule ^/dir/(.*)$ http://www.domainb.com/diff_dir/$1 [r=301]
#redirect url http://www.domaina.com/dir to http://www.domainb.com/diff_dir
RewriteRule ^/dir(/)?$ http://www.domianb.com/diff_dir [r=301]
Eu não testei isso, mas deve funcionar.
Nota:
Se você estiver fazendo isso no arquivo .htaccess raiz ou em uma configuração de diretório específica, você deverá eliminar o '/' inicial ou ajustar o padrão da regra. Algo como ^dir(/)?$
.