Multiple page versions and caching for anonymous users Is there a standard, or well accepted, method for allowing page caching when you have multiple versions of page, that don't involve using Page Manager?

For example, if you render out different versions of a page based on IP address, User-Agent, etc., page caching renders the code-based decisions useless, so some users may see the wrong pages.

The only method that I know about involves adding code to settings.php to alter $_SERVER['REQUEST_URI'] to make the code-based decision and then to tack on extra variables, but gets messy.
$_SERVER['REQUEST_URI'] is the simplest way. The other option is to modify the key used in the cache. There is a 6.x memcache patch that I've been using http://drupal.org/node/942914

The latest version of http://drupal.org/project/authcache might be able to do it.