Вам не нужно уходить от & в матче до% 26. То, что у вас есть, прекрасно работает для меня, не знаю, почему это не работает для вас. Но вам не нужен RewriteCond, вы можете объединить 2 в одно правило. Это работает для меня, когда фактический запрос /directory/directory-2/10018485&key=3945
или directory/directory-2/10018485%26key=3945
RewriteRule ^directory/directory-2/10018485&key=3945$ /directory/directory-2/?id=10018485&key=3945 [L]
В более абстрактном смысле:
RewriteRule ^directory/directory-2/([0-9]+)&key=([0-9]+)$ /directory/directory-2/?id=$1&key=$2 [L]