Fixing Google Buzz Broken Images
If you are using Google Buzz, you are probably using the "Connected Sites" feature in some form or another. Basically, this is a function of Buzz where any new post you make on a "connected site" will automatically be Buzzed.
For example, if I do a post on http://horrorfanzine.com - say, a movie review - it will automatically be Buzzed under my Google Buzz feed.
For those of you who use special .htaccess rules to stop hotlinkers, you may notice that your Buzzes have broken images in them (or perhaps they are all linking to the same image you specified in .htaccess).

What's happening, basically, is that your .htaccess isn't allowing "hotlinking" from the Buzz referrer. This is because it probably isn't coming from google.com, but something called "https://0-focus-opensocial.googleusercontent.com/gadgets/proxy?url=(image url)&container=focus&gadget=a&rewriteMime=image%2F*&refresh=31536000"
If your images don't have that URL, they may have something similar to it. Basically, what I did to fix this issue was add the following line to the mod_rewrite section where I am allowing/blocking referrers:
RewriteCond %{HTTP_REFERER} !(.*)googleusercontent.com/gadgets/proxy(.*)[NC]
So, basically, my .htaccess script will have a section that looks like this:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebiste.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?googleusercontent.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?anotherfriendlysite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mozilla.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?newsgator.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://feeds.feedburner.com/myfeed$ [NC]
RewriteCond %{HTTP_REFERER} !(.*)googleusercontent.com/gadgets/proxy(.*)[NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Once I did this, my subsequent Buzzes seemed to work fine, and the images showed up. Note that due to caching issues, your current "Buzzes" may not get fixed immediately (or even at all... my old buzzes still have broken images but my "new" buzzes are ok).
- Bill Gordon
| Attachment | Size |
|---|---|
| google_buzz_broken_images.gif | 37.65 KB |
