De acordo com a documentação, por padrão
The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string. If you wish to match against the hostname, port, or query string, use a RewriteCond with the %{HTTP_HOST}, %{SERVER_PORT}, or %{QUERY_STRING} variables respectively.
Portanto, você não pode extrair o nome do host nem a string de consulta dessa maneira. A maneira simples é usar as variáveis de servidor %{HTTP_HOST}
e %{QUERY_STRING}
na regra de reescrita:
RewriteRule ^/(.*)$ http://www.xmldomain.com/bla/$1?%{QUERY_STRING}&rtype=xslt&xsl=%{HTTP_HOST}/$1.xsl
EDITAR
Se você quiser testar o URL completo, use RewriteCond
desta forma (observe o sinal %
em vez do sinal $
na regra de reconfiguração):
RewriteCond %{HTTP_HOST}/%{REQUEST_URI}&%{QUERY_STRING} ...pattern...
RewriteRule . http://www.xmldomain.com/bla/%2?%3&rtype=xslt&xsl=%1/%2.xsl