There are two ways to do it.
1) Block everything unless you specifically allow it -- this probably doesn't play well with the nature of blogs, but, the code would be:
Code:
RewriteEngine on
# leave this line in allow empty referrers, remove to disallow empty referrers
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*@)?([a-z0-9-]+\.)*yourdomain\.com(:[0-9]+)?(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*@)?([a-z0-9-]+\.)*yourseconddomain\.com(:[0-9]+)?(/.*)?$ [NC]
RewriteRule .*\.(asf|mpg|mpeg|wmv|avi|rm|gif|jpeg|jpg|png|zip)$ - [NC,F,L]
You would just add in lines with the domains you choose. A slightly faster method would be to combine the regexp lines and do something like:
Code:
RewriteEngine on
# leave this line in allow empty referrers, remove to disallow empty referrers
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*@)?([a-z0-9-]+\.)*(yourdomain\.com|yourseconddomain\.com)(:[0-9]+)?(/.*)?$ [NC]
RewriteRule .*\.(asf|mpg|mpeg|wmv|avi|rm|gif|jpeg|jpg|png|zip)$ - [NC,F,L]
Alternatively, to reverse the conditions and block specific domains:
Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} hotmail|google [NC]
RewriteRule .* http://url.to/go/to.html [F,L]
Since you really don't know where your blog is going to be syndicated, you will need to watch your logs and probably use the second method.