I specifically allow google et al carte blance. I also specifically allow thumbs. For those following along, the first is commented out - thats the entry that allows empty referrers. The next 5 lines include the "!" statement, which says we dont want to apply the "RewriteRule" at the bottom to them. The "REQUEST_URI" lines specifically allow certain files, the hotlink.jpg and some thumbnails. The last line is the RewriteRule that happens to those that don't fit the list.
Note that this is a deep and fairly specific subdirectory. My main .htaccess doesnt have the blank referer commented out... none of the sites linked from GG or the other big names are affected. I don't want to risk pissing them off by fucking with their surfers.
#RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?my-domain.com [NC]
RewriteCond %{REQUEST_URI} !^/hotlink\.jpg$
RewriteCond %{REQUEST_URI} !^/(.*)120120\.jpg$
RewriteCond %{REQUEST_URI} !^/(.*)90120\.jpg$
RewriteCond %{REQUEST_URI} !^/(.*)9090\.jpg$
RewriteCond %{REQUEST_URI} !^/(.*)tn_(.*)\.jpg$
RewriteRule \.(jpg|jpeg|png|gif)$ /hotlink.jpg [NC,R,L]
I toyed with this idea but thought it was a little sleasy
#RewriteCond %{HTTP:Accept-Language} (ru) [NC]
#RewriteRule .*
http://my-affiliate-link [R,L]
That redirects everyone using the russian language in their browser to a paysite. I figured that was painting too broad and punishing the many for the sins of the few and commented it out. I left it in but deactivated because I might someday write a site for russian (or japanese or korean or whatever) language specifically, and I have a ready made example for redirecting them to the right place.