I had a fun afternoon a few months back when all the imagecache images broke on a site I'd just taken live. I've just figured it out, so I'm telling you about it.
This was the situation:
- subsite.client.com was where I was developing the site, one of a family of multisites.
- subsite.com was a parked domain that went to just this site. It was this I'd just pointed to the IP of the box and that wasn't showing any images.
On the development domain, all worked fine. On the subsite domain, nothing.
The problem is that if you go to admin/settings/file-system you get a different thing depending on the domain! Each time, you get 'sites/CURRENT_DOMAIN/files', and the reason is this function:
function file_directory_path() {
return variable_get('file_directory_path', conf_path() .'/files');
}
So if the files directory has not been explicitly set and you're just relying on defaults, you're getting the wrong one.
I don't follow the internal workings of the file system or imagecache (or even symlinks which I consider dark magic on the commandline) to know if this breaking of imagecache is a bug or not.
But at least this is a ten-second fix on future sites. You'll find me here reading this post when I next have to set one up.