If you point multiple domains to the same public html directory, and the actual content resides outside of the public html (web root), you can do this in two steps:
1) rewrite the directory per domain, e.g.
<VirtualHost 127.0.0.1:80>
ServerName host_one.ca
RewriteEngine On
RewriteRule "/?images(.*)" "/www/shared/host_one/images/$1" [NC]
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName host_two.ca
RewriteEngine On
RewriteRule "/?images(.*)" "/www/shared/host_two/images/$1"
</VirtualHost>
2) Then add symlinks (alternatively, the Alias)
ln -s /shared/host_one/images /www/html/images/host_one
ln -s /shared/host_two/images /www/html/images/host_two
Just be careful. host_two images can be accessed via host_one:
domain_one.ca/images/host_two/{filename}
Unless you add additional rules that anything NOT in the current host directory be remove. For the host_one VirtualHost (I did not confirm whether this rule works):
# prevent showing content from other hosts
RewriteRule "/?images/!(host_one/.*)" /404 [NC,L]