I had a look at what .htaccess could do for me and it turns out that I could make it send a HTTP 410 Gone response whenever someone tried to access a URL that came from one of the old domains I no longer wanted to serve any content.
Now this will only work if multiple virtual hosts are pointing to the same web host e.g. example1.com is the actual host and example2.com is an alias for that host.
The .htaccess example file will send the 410 response on all requests originating from example.com.
.htaccess
RewriteEngine On
RewriteBase /
# 410 - Gone on example.com
RewriteCond %{HTTP_HOST} (example.com$) [NC]
RewriteRule ^(.*)$ $1 [L,G]
The ^(.*)$ pattern will match anything and $1 is simply a placeholder in this case since G is used in the options. The L in the RewriteRule specifies that this is the last match that should be considered i.e. no more rules are evaluated if this one matches. The G specifies that the 410 response is to be sent.
-i