I currently have a working redirecting configuration for Exim4 on my server. How do I not only redirect the emails to the places specified, but also save them first locally?
You have to use verb unseen in the routers. Usually the first matched router processes messages and then the routing is complete. However, when matching routers have an "unseen" line, processing continues as if the messages haven't been matched before. The following is the correct router configuration to accomplish this:
vdom_aliases: # redirect message
driver = redirect
domains = dsearch;/etc/exim4/virtual
data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}}
unseen # keep routing
localdeliver: # do everything else
driver = accept