It’s one of those facts that you learn once and then always remember: if you want your URL’s to be properly indexed: don’t stuff them with querystring-data. Make them nice, like they’re static URL’s. That’s what I always knew. Like riding a bike, you never forget it. But Google says this isn’t exactly true;
We’ve come across many webmasters who, like our friend, believed that static or static-looking URLs were an advantage for indexing and ranking their sites. This is based on the presumption that search engines have issues with crawling and analyzing URLs that include session IDs or source trackers. However, as a matter of fact, we at Google have made some progress in both areas. While static URLs might have a slight advantage in terms of clickthrough rates because users can easily read the urls, the decision to use database-driven websites does not imply a significant disadvantage in terms of indexing and ranking. Providing search engines with dynamic URLs should be favored over hiding parameters to make them look static.
Google Webmaster Central Blog
Not only does Googlebot read dynamic URL’s just fine (and now I think of it: why wouldn’t one of the largest tech companies make any progress in this area over all these years?), they actually favor it if a dynamic URL is the ‘original’ of your URL scheme. Googlebot will figure out the parameters and do the indexing the right way.
Of course, static-looking URL’s are still nicer for a user to look at, and sometimes a URL that doesn’t have querystring-parameters can still be dynamic, but for Google’s sake: don’t rewrite it just for them. Good to know!